A calling method, a cloud service platform, and a storage medium
In the call scenario of number privacy protection, the soft exchange method of bridge numbers and cloud service platform interacts with the telecom operator platform, select and bind the unoccupied first number, and release the occupied first number in a timely manner, the problem of insufficient utilization of the first number is solved and efficient concurrent call support is achieved.
Patent Information
- Application Number
- CN202210510075.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-11
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2042-05-11
AI Technical Summary
In the case of realizing number privacy protection, how to improve call performance, especially when supporting multiple concurrent calls, the utilization rate of the first number is insufficient, resulting in a large number of first numbers being needed to ensure the quality of the call.
By designing a calling method, using the bridge number and cloud service platform to interact with the soft exchange method of the telecom operator platform, select the target first number from the unoccupied first number, establish its binding relationship with the bridge number and the second number, and listen to media events through soft exchange to release the occupied first number in a timely manner.
Under the conditions of number privacy protection, the utilization rate of the first number is improved, the occupation time of the first number is reduced, and the number of concurrent calls can be supported with a smaller number of first numbers, which significantly improves call performance.
Smart Images

Figure CN114938412B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of communication technologies, and more particularly, to a call method, a cloud service platform, and a storage medium. Background Art
[0002] With the development of cloud computing, cloud service providers can provide phone number protection for users who use their call services. Phone number protection is an Internet service provided by cloud service providers based on the communication network capabilities of telecommunications operators. Phone number protection can ensure that user numbers are not leaked and realize private calls for users. In the case of realizing phone number protection, how to improve call performance has always been a technical problem studied by those skilled in the art. Summary of the Invention
[0003] In view of this, embodiments of the present application provide a call method, a cloud service platform, and a storage medium, which improve the utilization rate of the first number (initiating number), so as to support a larger number of concurrent calls with a smaller number of first numbers, achieving the effect of improving call performance while realizing phone number protection.
[0004] To achieve the above object, embodiments of the present application provide the following technical solutions.
[0005] In a first aspect, embodiments of the present application provide a call method, including:
[0006] Obtain a call service initiated by a first user, where the call service uses a bridging number to call a second number of a second user;
[0007] Select a target first number for the first user from unoccupied first numbers; and establish a binding relationship among the target first number, the bridging number, and the second number and mark the target first number as occupied;
[0008] According to the binding relationship, initiate a call request for the target first number to call the bridging number to the telecommunications operator platform through a soft switch, so that the telecommunications operator platform sends a call request for the bridging number to call the second number to the second user according to the binding relationship;
[0009] And, through the soft switch, monitor media events of the call request from the telecommunications operator platform;
[0010] When a call request response event for the call request from the second user is monitored from the telecommunications operator platform through the soft switch, unbind the binding relationship and mark the target first number as unoccupied.
[0011] In a second aspect, embodiments of the present application provide a call method, including:
[0012] When the second user calls the first user, a callback request of the intermediate number platform is obtained, wherein the callback request is used to request the first number bound to the bridge number and the second number; wherein when the second user calls the first user, the second user uses the second number of the second user and the bridge number to initiate a call to the telecommunications operator platform;
[0013] Selecting a target first number from unoccupied first numbers; establishing a binding relationship between the target first number, the bridge number, and the second number and caching the binding relationship; and marking the target first number as occupied;
[0014] Feedback the target first number to the intermediate number platform, so that the intermediate number platform feeds back the target first number to the telecommunications operator platform;
[0015] Obtaining a call request sent by a telecommunications operator platform for the bridge number to call a target first number;
[0016] A call request for the second number to call the bridge number is sent to the first user terminal according to the cached binding relationship.
[0017] In a third aspect, an embodiment of the present application provides a cloud service platform, comprising one or more cloud servers, wherein the cloud servers comprise at least one memory and at least one processor; the memory stores one or more computer executable instructions, and the processor calls the one or more computer executable instructions to execute the calling method as described in the first aspect above, or the calling method as described in the second aspect above.
[0018] In a fourth aspect, an embodiment of the present application provides a storage medium, which stores one or more computer-executable instructions. When the one or more computer-executable instructions are executed, the calling method described in the first aspect above is implemented, or the calling method described in the second aspect above is implemented.
[0019] In a fifth aspect, an embodiment of the present application provides a computer program, which, when executed, implements the calling method as described in the first aspect above, or the calling method as described in the second aspect above.
[0020] The calling method provided in the embodiment of the present application is designed to interact between the cloud service platform and the telecom operator platform through soft switching, so that the cloud service platform can monitor media events from the telecom operator platform through soft switching. Based on this, in the call scenario with number privacy protection, when the first user calls the second user, the cloud service platform can obtain the call service initiated by the first user for the bridge number to call the second number of the second user; thus, the cloud service platform can select the target first number from the unoccupied first number; establish a binding relationship between the target first number, the bridge number and the second number and mark the target first number as occupied; further, according to the binding relationship, the cloud service platform can initiate a call request for the target first number to call the bridge number to the telecom operator platform through soft switching, and monitor the media events of the call request from the telecom operator platform through soft switching. When the cloud service platform monitors the call request response event of the second user to the call request from the telecommunications operator platform through soft switching, the cloud service platform can confirm that the call initiation link of the telecommunications operator platform has ended, thereby unbinding the binding relationship between the target first number, the bridge number and the second number, and marking the target first number as unoccupied, so that the target first number can be released in advance when the second user responds to the call request.
[0021] It can be seen that the embodiment of the present application can quickly and promptly release the occupied first number when the second user responds to the call request, so that the new call can reuse the first number released by the existing call when the second user responds to the existing call, thereby improving the utilization rate of the first number; further, the embodiment of the present application can support a larger number of concurrent calls with a smaller number of first numbers, thereby achieving the effect of improving call performance while realizing number privacy protection. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.
[0023] Figure 1 The figure is an example of the number privacy protection process.
[0024] Figure 2 A flowchart of a calling method provided in an embodiment of the present application.
[0025] Figure 3 This is an example diagram of the first number pool provided in an embodiment of the present application.
[0026] Figure 4Another flowchart of the calling method provided by the embodiments of the present application.
[0027] Figure 5 An implementation example diagram of the calling method provided by the embodiments of the present application.
[0028] Figure 6 Another flowchart of the calling method provided by the embodiments of the present application.
[0029] Figure 7 A block diagram of the calling device provided by the embodiments of the present application.
[0030] Figure 8 Another block diagram of the calling device provided by the embodiments of the present application.
[0031] Figure 9 A block diagram of the cloud server. Detailed implementation manners
[0032] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0033] Taking the case where the first user calls the second user as an example, number privacy protection can bridge the first number used by the first user and the second number used by the second user through a bridging number in the call scenario where the first user calls the second user; thus, when the first user calls the second user, the call number displayed on the second user's terminal is the bridging number, thereby ensuring that the first number used by the first user is not leaked and realizing private calls for users. Such number privacy protection services can be applied to various service scenarios such as travel, logistics, food delivery, and recruitment, so as to meet the protection requirements of user privacy.
[0034] It should be noted that when the first user calls the second user, the first user can be regarded as the calling user, the second user can be regarded as the called user, the first number used by the first user can be regarded as the initiating number, and the second number used by the second user can be regarded as the called number; of course, the calling and called identities of the first user and the second user will be adjusted accordingly with the change of the call initiator. The following embodiments of the present application will be described taking the case where the first user calls the second user as an example.
[0035] In one example, the bridging number is actually an intermediate number, which can be called the X number. The first number can be called the A number, and the second number can be called the B number. The above call scenario for number privacy protection can be called the AXB intermediate number call scenario. In the AXB intermediate number call scenario, when the first user uses the call service of the cloud service platform to call the second user, the cloud service platform can use the binding relationship of AXB to initiate a call request from the A number to the X number to the telecom operator platform; thus, the telecom operator platform can use the binding relationship of AXB to adjust the call request from the A number to the X number to a call request from the X number to the B number, and reach the second user terminal; furthermore, the call number displayed on the second user terminal is the X number, so as to achieve the purpose of protecting the privacy of the A number of the first user.
[0036] In the above context, the cloud service platform has a need to provide concurrent calls for users (such as enterprise-level users), that is to say, it allows the first number (initiating number) to be reused multiple times, so that users can use multiple first numbers that are continuously reused to initiate multiple concurrent calls. Therefore, the cloud service platform needs to set up a first number pool to record multiple first numbers, so that users can initiate multiple concurrent calls by reusing the first numbers in the first number pool. At this time, the first user does not directly use the first number to initiate a call service, but initiates the call service of the cloud service platform by calling the second number through a bridging number (virtual number); furthermore, the cloud service platform selects an unoccupied first number from the first number pool, so as to continuously reuse the unoccupied first number, and thus multiple concurrent calls can also be realized; after the cloud service platform selects the first number, it can establish a binding relationship for the first number, the bridging number and the second number (the binding relationship is, for example: the first number is bound to the bridging number, and the bridging number is bound to the second number), and adjust the call request from the bridging number of the first user to the second number to a call request from the first number to the bridging number and send it to the telecom operator platform; furthermore, the telecom operator platform can adjust the call request to the bridging number calling the second number according to the established binding relationship, and reach the second user terminal.
[0037] For ease of understanding, Figure 1 An exemplary example diagram of the number privacy protection process is shown, as Figure 1 shown, and the process may include:
[0038] S10. When the first user 101 calls the second user 102, it can initiate a call service of calling the B number (second number) with the X number (bridging number) to the cloud service platform 103.
[0039] S11. The cloud service platform 103 selects an unoccupied A number from the first number pool 104.
[0040] Since the X number belongs to a bridging number and is not a real user number, the cloud service platform 103 needs to select an A number (the first number) from the first number pool 104 for binding with the X number.
[0041] S12. The cloud service platform 103 establishes a binding relationship among the A number, the X number, and the B number.
[0042] S13. Based on the established binding relationship, the cloud service platform 103 can initiate a call request for the A number to call the X number to the telecom operator platform 105.
[0043] S14. The telecom operator platform adjusts the call request to the X number calling the B number and sends the call request for the X number calling the B number to the second user 102.
[0044] After receiving the call request from the cloud service platform 103, the telecom operator platform 105 can, based on the established binding relationship, adjust the call request to the X number calling the B number and send the call request for the X number calling the B number to the second user 102. As a result, the second user terminal (i.e., the terminal device of the second user) displays an incoming call with the call number being the X number.
[0045] In the above process, when the cloud service platform establishes the binding relationship among the first number, the bridging number, and the second number, the first number in the first number pool will be occupied. And when a user initiates a new call, it needs to use an unoccupied first number in the first number pool. Therefore, how to reasonably release the occupied first number is crucial for improving call performance.
[0046] One way to release the occupied first number in the first number pool is: when the call between the first user and the second user ends (for example, after the call is connected, either the first user or the second user hangs up the call), unbind the binding relationship among the first number, the bridging number, and the second number, thereby releasing the occupied first number. This way requires waiting until the call between the first user and the second user ends to release the occupied first number. The occupation time of the first number is determined by the call duration between the first user and the second user, making the first number unable to be released quickly, resulting in the first number not being efficiently reused. To support a relatively large number of concurrent calls, the user needs to set a relatively large number of corresponding first numbers in the first number pool (for example, since the first number cannot be released quickly, for 1000 concurrent calls, 1000 first numbers need to be prepared in the first number pool), which greatly affects call performance.
[0047] Based on this, the embodiments of the present application provide an improved call scheme. By timely unbinding the binding relationships among the first number, the bridging number, and the second number, the occupied first number can be released in a timely manner, improving the utilization rate of the first number. Furthermore, a smaller number of first numbers can support a larger number of concurrent calls, achieving the effect of improving call performance while realizing number privacy protection.
[0048] The inventors of the present application considered that during the call process of bridging the first user and the second user using the bridging number, what really matters for the call is the call initiation link (i.e., the call request from the telecommunications operator platform reaches the second user terminal). Therefore, when the call request receives a response from the second user terminal (i.e., the second user answers the call to establish a call connection, or the second user directly hangs up the call), in theory, the binding relationships among the first number, the bridging number, and the second number can be unbound to release the occupied first number, without having to wait for the call between the first user and the second user to end before releasing the first number.
[0049] However, the inventors of the present application found during the implementation of the scheme that there are technical implementation difficulties in the cloud service platform detecting whether a call connection is established between the first user and the second user: The call service of the cloud service platform relies on the number privacy protection ability of the public cloud, and this ability does not provide a notification ability for the standard call connection event (i.e., establishing a call connection), but only provides a notification ability for the call end. Based on this, the embodiments of the present application consider improving the interaction method between the cloud service platform and the telecommunications operator platform, enabling the cloud service platform to monitor the media events of the telecommunications operator platform. Furthermore, after the cloud service platform monitors a media event of call connection or call hangup from the telecommunications operator platform, the binding relationships among the first number, the bridging number, and the second number are unbound to release the occupied first number in advance.
[0050] As an alternative implementation, the cloud service platform and the telecommunications operator platform can interact through the softswitch method. For example, the cloud service platform can send a call request to the telecommunications operator platform through the softswitch method and listen for media events from the telecommunications operator platform through the softswitch method. It should be noted that the softswitch is a functional entity that can provide call control and connection control functions for services with real-time requirements and is the core of call and control. That is to say, the call request for the first number to bridge the number to the second number initiated by the cloud service platform in the embodiment of the present application is transmitted through the softswitch method; and the cloud service platform has the ability to listen for media events from the telecommunications operator platform through the softswitch (for example, the cloud service platform can control the signaling and media of the call through the softswitch, so that it can monitor whether the second user answers or hangs up the call). Therefore, the cloud service platform can listen for media events through the softswitch service, so as to unbind the binding relationship between the first number, the bridging number and the second number in advance when it monitors that the second user answers or hangs up the call.
[0051] As an alternative implementation, Figure 2 Exemplarily shown is an optional flowchart of the call method provided by the embodiment of the present application. This method flow can be implemented by the first user terminal, the cloud service platform, the telecommunications operator platform, and the second user terminal. Among them, the first user terminal can be, for example, terminal devices such as the first user's smart phone, tablet computer, notebook computer, PC (personal computer), etc. The cloud service platform can be a server platform that provides cloud computing services. The cloud service platform can provide number privacy protection during the call process when the first user calls the second user by setting up a call system. The telecommunications operator platform can be understood as a service platform that provides telecommunications network services. The second user terminal can be, for example, terminal devices such as the second user's smart phone, tablet computer, notebook computer, PC (personal computer), etc.
[0052] Taking the first user calling the second user as an example, referring to Figure 2 , the method flow can include the following steps.
[0053] In step S210, the first user terminal initiates a call service to the cloud service platform, and the call service uses the bridging number to call the second number of the second user.
[0054] In some embodiments, when the first user needs to call the second user, the first user can use the call service provided by the cloud service platform to determine the second number on the call interface of the first user terminal (for example, enter, import or select the second number), and perform a call operation; thus, the first user terminal can, in response to the call operation of the first user, use the bridging number allocated by the cloud service platform to the first user and the second number determined by the first user on the call interface to initiate a call service for the bridging number to call the second number to the cloud service platform.
[0055] In one example, the cloud service platform can provide a call service with number privacy protection function for users, and provide a corresponding call interface for the call service; the call interface can be an APP page (such as a softphone APP page), a web page, etc. The first user can use the first user terminal to open the call interface, and enter, import or select a second number on the call interface; when the first user performs a call operation on the call interface, the first user terminal can initiate a call service to the cloud service platform to bridge the number to call the second number.
[0056] As an optional implementation, the call service provided by the cloud service platform can be implemented based on the SIP (Session Initialization Protocol) protocol or API (Application Programming Interface) capabilities; when the first user terminal detects the call operation of the first user, it can initiate a call service to the cloud service platform to bridge the number to call the second number based on the SIP protocol or API capabilities.
[0057] In step S211, the cloud service platform selects a target first number from the unoccupied first numbers.
[0058] In step S212, the cloud service platform establishes a binding relationship among the target first number, the bridging number and the second number and marks the target first number as occupied.
[0059] Based on step S210, the cloud service platform can obtain the call service initiated by the first user to bridge the number to call the second number. Thus, the cloud service platform can select an unoccupied first number for binding (for the convenience of description, the first number for binding in the embodiments of the present application is referred to as the target first number), establish a binding relationship among the target first number, the bridging number and the second number, and mark the target first number as occupied at the same time.
[0060] In some embodiments, the embodiments of the present application can set a first number pool (such as A number pool), and the first number pool can record multiple first numbers; further, the first number pool can also record the marking information of the first numbers, and the marking information of the first numbers can mark whether the first numbers are occupied. Thus, the cloud service platform can determine the unoccupied first numbers in the first number pool according to the marking information of the first numbers in the first number pool; and then select a target first number from the unoccupied first numbers in the first number pool (for example, randomly or according to a certain order rule select a target first number from the unoccupied first numbers in the first number pool).
[0061] In one example, Figure 3An exemplary diagram of the first number pool is shown for reference. As Figure 3 shown, the first number pool records the first numbers from 1 to N (N is the number of the first numbers, which can be determined according to the actual situation), and the corresponding marking information for each of the first numbers from 1 to N; as an example, as Figure 3 shown, it can be seen that the marking information of the first numbers from 1 to M (M is less than N) indicates that the first numbers from 1 to M are occupied, and the marking information of the first numbers from M + 1 to N indicates that the first numbers from M + 1 to N are not occupied, so that the cloud server can select a target first number from the unoccupied first numbers from M + 1 to N.
[0062] As an alternative implementation, the first number pool can be a data structure in the form of a table. For example, the first number pool can record the first numbers and the marking information of the first numbers through a data structure in the form of a table such as an array or a linked list.
[0063] After the cloud service platform selects the target first number, it can establish a binding relationship between the target first number, the bridging number, and the second number in the call service initiated by the first user, and mark the target first number as occupied (for example, mark the marking information of the target first number in the first number pool as occupied).
[0064] In some embodiments, the cloud service platform can set up a call system and an intermediate number platform (the intermediate number platform is also called the X number platform), and this intermediate number platform can allow the call system and the telecom operator platform to access. The binding relationship established between the first number, the bridging number, and the second number in the embodiments of the present application can be maintained in the call system and / or the intermediate number platform. As an alternative implementation, the call system can maintain the binding relationship by establishing and caching the binding relationship; for example, the cloud service platform can set up a caching device, and the call system can cache the binding relationship between the target first number, the bridging number, and the second number in this caching device, so that the call system can find the binding relationship by querying the cache. As an alternative implementation, when it is necessary to maintain the binding relationship in the intermediate number platform, the call system can initiate a binding request for the target first number, the bridging number, and the second number to the intermediate number platform by calling the binding interface of the intermediate number platform, so that the intermediate number platform establishes the binding relationship between the target first number, the bridging number, and the second number.
[0065] In some further embodiments, the cloud service platform may have multiple call services at the same time. In order to distinguish the binding relationships corresponding to different call services, the embodiments of the present application may set a unique call identifier (such as a unique call ID) for the call service; thereby, the cloud service platform can record the unique call identifier of the call service, map the unique call identifier with the binding relationship established for the call service, and cache the mapping information of the unique call identifier and the binding relationship (for example, the call system caches the mapping information of the unique call identifier and the binding relationship in a cache device), so that the cloud service platform can query the binding relationships of different call services through the unique call identifiers of different call services.
[0066] In step S213, the cloud service platform initiates a call request for the target first number to call the bridge number to the telecommunications operator platform through the soft switch according to the binding relationship.
[0067] In step S214, the cloud service platform monitors the media events of the call request from the telecommunications operator platform through the soft switch.
[0068] After establishing the binding relationship between the target first number, the bridge number and the second number, the cloud service platform can generate a call request for the target first number to call the bridge number according to the binding relationship, and transmit the call request to the telecommunications operator platform through soft switching.
[0069] When the cloud service platform transmits the call request of the target first number calling the bridge number to the telecom operator platform through soft switching, it can also monitor the media events such as answering and hanging up of the call request by the second user from the telecom operator platform through soft switching.
[0070] In some further embodiments, the unique call identifier of the call service can be transmitted transparently during the call process between the cloud service platform and the telecom operator platform, so that the cloud service platform can also pass the unique call identifier of the call service to the telecom operator platform; for example, the call request sent by the cloud service platform to the telecom operator platform can carry the unique call identifier of the call service.
[0071] In step S215, the telecommunications operator platform sends a call request for the bridge number to call the second number to the second user terminal according to the second number bound to the target first number and the bridge number.
[0072] After receiving a call request sent by the cloud service platform, the telecommunications operator platform can determine that the call request uses number privacy protection based on the bridging number in the call request (for example, the telecommunications operator platform can determine that the call request uses the X number for intermediate number bridging based on the X number in the call request). Thus, the telecommunications operator platform can generate a call request for the bridging number to call the second number according to the second number bound to the target first number and the bridging number, and transmit the call request for the bridging number to call the second number to the second user terminal, so that the call request reaches the second user.
[0073] In some embodiments, the telecommunications operator platform can call the intermediate number platform, and thus request the second number bound to the target first number and the bridging number from the intermediate number platform according to the target first number and the bridging number. After the telecommunications operator platform obtains the second number fed back by the intermediate number platform, it can generate a call request for the bridging number to call the second number; and transmit the call request for the bridging number to call the second number to the second user terminal.
[0074] As an optional implementation, if the intermediate number platform maintains a binding relationship, after obtaining the request sent by the telecommunications operator platform, the intermediate number platform can determine the second number bound to the target first number and the bridging number by querying the maintained binding relationship and feed it back to the telecommunications operator platform. In other possible implementations, if the binding relationship is maintained in the call system (for example, the call system caches the binding relationship), after obtaining the request sent by the telecommunications operator platform, the intermediate number platform can call back the call system, so that the call system can determine the second number bound to the target first number and the bridging number by querying the cached binding relationship; furthermore, the call system can feed back the determined second number to the intermediate number platform, and the intermediate number platform can send the second number to the telecommunications operator platform. In the embodiments of the present application, the telecommunications operator platform and the intermediate number platform can communicate through an interface to implement the transmission of the request from the telecommunications operator platform to the intermediate number platform and the feedback of the number from the intermediate number platform to the telecommunications operator platform.
[0075] It should be noted that if the call request of the telecommunications operator platform reaches the second user, it can be regarded that the telecommunications operator platform has established a call initiation link between the first user and the second user.
[0076] In step S216, the second user terminal sends a call response request to the telecommunications operator platform based on the response operation of the second user to the call request.
[0077] In step S217, the telecommunications operator platform generates a call request response event based on the call response request of the second user terminal.
[0078] After the second user terminal receives a call request for the bridging number to call the second number sent by the telecommunications operator platform, it can prompt the user for the call request (for example, by ringing or other means) to prompt the second user that there is a current call request. When the second user performs a response operation on the call request, the second user terminal can send a call response request to the telecommunications operator platform based on the response operation of the second user to the call request. Based on the call response request sent by the second user terminal, the telecommunications operator platform can confirm that the second user has responded to the call request, thereby generating a call request response event for the second user's call request; furthermore, the cloud service platform can monitor the call request response event for the second user's call request from the telecommunications operator platform through softswitch; at the same time, the telecommunications operator platform can perform different subsequent processing based on different call response requests of the second user terminal.
[0079] In some embodiments, the response operation performed by the second user on the call request may be to answer or hang up. When the second user performs an answer operation on the call request, the second user terminal can send a call answer request to the telecommunications operator platform, so that the telecommunications operator platform can end the call initiation link and establish a call connection between the first user and the second user. Furthermore, the first user and the second user can transmit call content through the call connection; at this time, for the response situation of the second user answering the call request, the telecommunications operator platform can generate a media event for the call request answer event.
[0080] When the second user performs a hang-up operation on the call request, the second user terminal can send a call hang-up request to the telecommunications operator platform, so that the telecommunications operator platform can end the call initiation link and end the call from the first user to the second user; at this time, for the response situation of the second user hanging up the call request, the telecommunications operator platform can generate a media event for the call request hang-up event. That is to say, the call request response event can include a call request answer event or a call request hang-up event.
[0081] It should be noted that the call request response event is an event in which the second user responds to the call request; among them, the call request hang-up event is an event in which the second user hangs up the call request (that is, does not answer), which is not the same as the call hang-up event after the second user answers the call and has a call for a period of time.
[0082] In step S218, the cloud service platform monitors the call request response event of the call request from the telecommunications operator platform through softswitch, unbinds the binding relationship between the target first number, the bridging number and the second number, and marks the target first number as unoccupied.
[0083] When the telecommunications operator platform generates a call request response event, the cloud service platform can monitor the call request response event from the telecommunications operator platform during the process of listening for media events through softswitch, so that the cloud service platform can determine that the second user has responded to the call from the first user; that is to say, the call initiation link of the telecommunications operator platform has ended. At this time, the first user and the second user can make a call through the call connection (corresponding to the situation where the second user answers the call), or the call between the first user and the second user ends (corresponding to the situation where the second user hangs up the call). Therefore, the cloud service platform can timely unbind the binding relationship among the target first number, the bridging number and the second number, so that the target first number is released for reuse in a new call.
[0084] In some embodiments, if the binding relationship is maintained in the intermediate number platform, the call system can call the unbinding interface of the intermediate number platform to send an unbinding request for the target first number, the bridging number and the second number to the intermediate number platform, so that the intermediate number platform unbinds the binding relationship among the target first number, the bridging number and the second number. In other embodiments, if the call system caches the binding relationship, the call system can delete the cached record of the binding relationship to unbind the binding relationship among the target first number, the bridging number and the second number. When the cloud service platform unbinds the binding relationship, it can mark the target first number as unoccupied. For example, the marking information of the target first number in the first number pool is marked as the target first number being unoccupied, so that the target first number can be reused when a new call is initiated, improving the utilization rate of the first number.
[0085] In some further embodiments, the call request response event monitored by the cloud service platform can carry the unique call identifier of the call service. Thus, the call system of the cloud service platform can search for the binding relationship mapped by the unique call identifier carried in the call request response event from the mapping information between the cached unique call identifier and the binding relationship, so as to unbind the found binding relationship. For example, the call system can call the unbinding interface of the intermediate number platform to send an unbinding request to the intermediate number platform for the found binding relationship, so that the intermediate number platform unbinds the binding relationship among the target first number, the bridging number and the second number, realizing the unbinding of the found binding relationship; or for another example, if the call system itself caches the binding relationship, the call system can also delete the cached record of the found binding relationship.
[0086] In some further embodiments, if the second user answers the call request from the telecommunications operator platform, then the second user and the first user can make a call through the established call connection. The cloud service platform can wait for the call between the second user and the first user to end and then complete the call service for the first user. It can be understood that since in the embodiments of the present application, when the second user responds to the call request sent by the telecommunications operator platform (i.e., when the second user responds to the call initiated by the first user), the binding relationship between the target first number, the bridging number, and the second number has been unbound. Therefore, compared with unbinding the binding relationship when the call between the second user and the first user ends, the embodiments of the present application can quickly and timely release the first number, improving the utilization rate of the first number. Thus, in the case of a high utilization rate of the first number, the embodiments of the present application can support a larger number of concurrent calls with a smaller number of first numbers, achieving the effect of improving call performance while realizing number privacy protection.
[0087] In an example, through research, it is found that: the call duration between the first user and the second user is generally several minutes (or even longer), while the telecommunications operator generally limits the response time of the call request within 1 minute (for example, if the call request is not answered within 30 seconds to 50 seconds after reaching the second user, the call will be automatically hung up; and the second user generally answers the call within 15 seconds to 30 seconds). Therefore, the embodiments of the present application additionally design a softswitching method, enabling the cloud service platform to listen for the call request response event of the call request from the telecommunications operator platform through the softswitching method. Thus, when the cloud server monitors the call request response event of call connection or call hangup, the binding relationship can be unbound in advance, achieving the effect of timely releasing the first number when the call initiation link of the telecommunications operator platform ends; compared with releasing the first number after the call between the first user and the second user ends, the time for the embodiments of the present application to occupy the first number at one time can be significantly reduced, so the utilization rate of the first number can be greatly improved; thus, the embodiments of the present application can support a larger number of concurrent calls with a smaller number of first numbers, improving call performance.
[0088] In a further example, if the occupied first number is released only when waiting for the call between the first user and the second user to end, then to support a larger number of concurrent calls, a larger number of corresponding first numbers need to be set in the first number pool; for example, for 1000 concurrent calls, 1000 first numbers need to be prepared in the first number pool. However, since the embodiments of the present application can quickly and timely release the first number, the embodiments of the present application can support 1000 concurrent calls with a number of first numbers less than 1000 (for example, 100 first numbers can support 1000 calls), thus improving call performance while significantly increasing the utilization rate of the first number.
[0089] The calling method provided in the embodiment of the present application is designed to interact between the cloud service platform and the telecom operator platform through soft switching, so that the cloud service platform can monitor media events from the telecom operator platform through soft switching. Based on this, in the call scenario with number privacy protection, when the first user calls the second user, the cloud service platform can obtain the call service initiated by the first user for the bridge number to call the second number of the second user; thus, the cloud service platform can select the target first number from the unoccupied first number; establish a binding relationship between the target first number, the bridge number and the second number and mark the target first number as occupied; further, according to the binding relationship, the cloud service platform can initiate a call request for the target first number to call the bridge number to the telecom operator platform through soft switching, and monitor the media events of the call request from the telecom operator platform through soft switching. When the cloud service platform monitors the call request response event of the second user to the call request from the telecommunications operator platform through soft switching, the cloud service platform can confirm that the call initiation link of the telecommunications operator platform has ended, thereby unbinding the binding relationship between the target first number, the bridge number and the second number, and marking the target first number as unoccupied, so that the target first number can be released in advance when the second user responds to the call request.
[0090] It can be seen that the embodiment of the present application can quickly and promptly release the occupied first number when the second user responds to the call request, so that the new call can reuse the first number released by the existing call when the second user responds to the existing call, thereby improving the utilization rate of the first number; further, the embodiment of the present application can support a larger number of concurrent calls with a smaller number of first numbers, thereby achieving the effect of improving call performance while realizing number privacy protection.
[0091] In a further optional implementation, Figure 4 Another optional flowchart of the calling method provided in the embodiment of the present application is shown as an example. In the embodiment of the present application, the cloud server can set up a calling system and an intermediate number platform, and the calling system is such as a voice SIP system. Figure 4 The method flow may include the following steps.
[0092] In step S410, the first user terminal initiates a call service of using a bridge number to call a second number to a calling system.
[0093] In step S411, the calling system determines whether the first user passes the security risk control strategy, if not, executes step S412, and if so, executes step S413.
[0094] After the call system receives the call service of the first user, it can determine whether the first user passes the security risk control policy to ensure call security. In some embodiments, the security risk control policy can define policy conditions such as the limit call times and / or security score of the first user; if the number of calls made by the first user (for example, the number of calls made by the first user on the same day, or the same week, or the same month) reaches the limit call times, and / or, the user score of the first user is lower than the security score, it can be determined that the first user fails to pass the security risk control policy; if the number of calls made by the first user does not reach the limit call times, and / or, the user score of the first user is not lower than the security score, it can be determined that the first user passes the security risk control policy. Optionally, the user score of the first user can be determined according to the call data, complaint data, and behavior data such as the call number being marked as an insecure number of the first user, and it can be specifically determined according to the actual security needs, and the embodiments of the present application do not limit it.
[0095] In step S412, the call system ends the call service.
[0096] When the call system determines that the first user fails to pass the security risk control policy, the call system can end the call service. When the call system determines that the first user passes the security risk control policy, the call system can continue with the subsequent process, and the following will describe the process from the perspective of the first user passing the security risk control policy.
[0097] In step S413, the call system selects a target first number with a marked information of unoccupied from the first number pool.
[0098] In step S414, the call system calls the binding interface of the intermediate number platform and sends a binding request to the intermediate number platform to establish a binding relationship among the target first number, the bridging number, and the second number.
[0099] Correspondingly, the intermediate number platform can bind the target first number, the bridging number, and the second number, thereby establishing a binding relationship among the target first number, the bridging number, and the second number.
[0100] In step S415, the call system records the call unique identifier of the call service, determines the mapping information between the call unique identifier and the binding relationship, and caches the mapping information.
[0101] In step S416, the call system marks the marked information of the target first number in the first number pool as occupied.
[0102] Optionally, step S416 can also be executed synchronously when step S413 is executed; for example, when the call system selects the target first number from the first number pool, it can mark the marked information of the target first number as occupied.
[0103] In the embodiments of the present application, the embodiments of the present application support maintaining the binding relationship by the calling system and the intermediate number platform. Of course, in other possible implementations, the embodiments of the present application may also support maintaining the binding relationship by one of the calling system or the intermediate number platform.
[0104] In step S417, according to the binding relationship, the calling system sends the call request for the calling bridge number of the target first number to the telecommunications operator platform through softswitch.
[0105] Furthermore, the call request sent by the calling system to the telecommunications operator platform may carry the call unique identifier of the call service.
[0106] In step S418, the calling system listens for the media events of the call request from the telecommunications operator platform through softswitch.
[0107] In step S419, the telecommunications operator platform requests the second number bound to the target first number and the bridge number from the intermediate number platform.
[0108] After obtaining the call request of the calling system, the telecommunications operator platform can determine that the call request uses an intermediate number according to the bridge number in the call request; thus, the telecommunications operator platform can request the second number bound to the target first number and the bridge number from the intermediate number platform according to the call request. At this time, if the intermediate number platform maintains the binding relationship, the intermediate number platform can query the second number bound to the target first number and the bridge number from the maintained binding relationship, and the intermediate number platform can feedback the queried second number to the telecommunications operator platform so that the telecommunications operator platform can obtain the requested second number.
[0109] If the binding relationship is cached in the calling system, after the intermediate number platform obtains the request from the telecommunications operator platform, the intermediate number platform can call back the calling system (referred to as X-mode callback), so that the calling system can query the second number bound to the target first number and the bridge number from the cached binding relationship based on the target first number and the bridge number carried by the intermediate number platform in the callback; furthermore, the calling system can feedback the queried second number to the intermediate number platform, and the intermediate number platform then feedbacks the second number to the telecommunications operator platform so that the telecommunications operator platform can obtain the requested second number.
[0110] In step S420, the telecommunications operator platform sends the call request for the bridge number to call the second number to the second user terminal.
[0111] In step S421, the second user terminal sends a call response request for the call request to be connected or the call request to be hung up to the telecommunications operator platform.
[0112] In step S422, the telecommunications operator platform generates a call request connected event or a call request disconnected event for the call request of the second user based on the call response request.
[0113] Furthermore, the call request connected event or the call request disconnected event may carry a call unique identifier of the call service that has been transparently transmitted to the telecommunications operator platform.
[0114] In step S423, the calling system monitors a call request connection event or a call request hang-up event through the soft switch, and determines the binding relationship mapped to the call unique identifier from the cached mapping information according to the call unique identifier carried in the call connection event or the call hang-up event.
[0115] In step S424, the calling system calls the unbinding interface of the intermediate number platform and sends an unbinding request to the intermediate number platform to unbind the binding relationship.
[0116] Correspondingly, the intermediate number platform can unbind the binding relationship between the target first number, the bridge number and the second number.
[0117] In step S425, the calling system marks the marking information of the target first number in the first number pool as unoccupied.
[0118] After the target first number is marked as unoccupied, the target first number can be reused by a new call to achieve efficient reuse of the first number. Further, the calling system can also delete the cache record of the binding relationship. Further, if the second user answers the call request, the calling system can wait for the call between the first user and the second user to end.
[0119] To facilitate further explanation of the calling scheme provided in the embodiment of the present application, an example implementation of the calling scheme provided in the embodiment of the present application is introduced below, with A number representing the first number, X number representing the bridge number, and B number representing the second number. Figure 5 The following is an exemplary diagram showing an implementation example of the calling method provided in the embodiment of the present application. Figure 5 As shown, the implementation example may include the following process:
[0120] The first user initiates a SIP request for number X to call number B to the calling system of the cloud service platform through the calling interface;
[0121] The calling system performs security risk control on the first user; after the security risk control is passed, the calling system dispatches number A (unoccupied) from number pool A (an example of the first number pool), and marks number A as occupied in number pool A;
[0122] After the calling system schedules an A number from the A number pool, it can use the call path of the A number for call scheduling; for example Figure 5 As shown, the calling system can call the binding interface of the intermediate number platform of the cloud service platform to bind the binding relationship among the A number, the X number, and the B number on the intermediate number platform, and cache the mapping information between the call unique identifier and the binding relationship; furthermore, the calling system can initiate a call request for the A number to call the X number to the telecommunications operator of the A number (i.e., the telecommunications operator of the first number) through the soft switch, so as to schedule the X number to call the B number as the A number to call the X number; at the same time, the calling system can listen to the media events of the call request from the telecommunications operator of the A number through the soft switch;
[0123] The telecommunications operator of the A number can determine the supplier of the X number based on the X number in the call request sent by the calling system, and thus request the B number having a binding relationship with the A number and the X number from the intermediate number platform;
[0124] The intermediate number platform can feedback the B number having a binding relationship with the A number and the X number to the telecommunications operator of the A number; thus, the telecommunications operator of the A number can generate a call request for the X number to call the B number and reach the second user with the call request;
[0125] When the second user answers or hangs up the call, the calling system can listen to the call request connection event or the call request hang-up event from the telecommunications operator of the A number through the soft switch, so that the calling system can determine the binding relationship corresponding to the call unique identifier carried by the monitored event from the cached mapping information;
[0126] Furthermore, the calling system can call the unbinding interface of the intermediate number platform to unbind the binding relationship among the A number, the X number, and the B number on the intermediate number platform, and the calling system can mark the A number as unoccupied in the A number pool, so that the A number can be quickly and timely released when the second user answers or hangs up the call, improving the reuse rate of the A numbers in the A number pool. Further, the calling system can delete the cached record of the binding relationship among the A number, the X number, and the B number.
[0127] The calling scheme provided by the embodiments of the present application can be applied to various service scenarios such as travel, logistics, takeout, recruitment, etc., to improve the utilization rate of the first number (initiating number) in these service scenarios, realize supporting a larger number of concurrent calls with a smaller number of the first numbers, and improve the call performance while realizing number privacy protection.
[0128] It should be further explained that, when the second user connects or hangs up the call, unbinding the binding relationship between the target first number, the bridge number, and the second number in advance may further extend the problem that the second user cannot call the first user, that is, the first user's incoming call problem cannot be solved. It is understandable that if the binding relationship between the target first number, the bridge number, and the second number is maintained for a long time simply to solve the first user's incoming call problem, then the first number will undoubtedly be occupied for a long time, resulting in a reduction in the utilization rate of the first number; therefore, the embodiment of the present application is based on unbinding the above binding relationship when the second user responds to the call initiated by the first user, and provides a further improved call solution to solve the first user's incoming call problem; that is, the embodiment of the present application can allow the second user to use the bridge number and the second number to call the first user on the basis of unbinding the above binding relationship in advance.
[0129] When the second user calls the first user using the bridge number and the second number, the second user can be transformed into a calling user, and correspondingly, the first user can be transformed into a called user; in an optional implementation of the second user calling the first user, Figure 6 Another optional flow chart of the calling method provided in the embodiment of the present application is shown as an example. Figure 6 The method flow may include the following steps.
[0130] In step S610, the second user terminal initiates a call request for the second number to call the bridge number to the telecommunications operator platform.
[0131] In some embodiments, after receiving a call from the first user, the second user terminal displays the calling number as a bridge number based on number privacy protection; after the second user connects to the first user's call or hangs up the first user's call, if the second user wants to call back the first user, the second user can use the second user terminal to initiate a call request from the second user's second number to the bridge number, and the second user terminal can pass the call request to the telecommunications operator platform. It can be seen that when the second user calls the first user, the second user uses the second user's second number and the bridge number to initiate the call.
[0132] In step S611, the telecommunications operator platform requests the intermediate number platform for a first number bound to the bridge number and the second number, where the first number is used by the first user.
[0133] When the telecommunications operator platform obtains a call request initiated by a second user, and the call request uses the second number of the second user to call the bridging number, the telecommunications operator platform can determine through the bridging number in the call request that the call request uses number privacy protection, so that the telecommunications operator platform can call the intermediate number platform to request the first number bound to the bridging number and the second number.
[0134] In step S612, the intermediate number platform calls back the calling system to request from the calling system the first number bound to the bridging number and the second number.
[0135] When the second user calls the first user, the intermediate number platform does not maintain the corresponding binding relationship (for example, the binding relationship among the first number, the bridging number, and the second number has been unbound when the second user responds to the call of the first user). At this time, the intermediate number platform can call back the calling system (i.e., perform an X-mode callback) to request from the calling system the first number bound to the bridging number and the second number. It can be understood that when the second user calls the first user, neither the intermediate number platform nor the calling system maintains the corresponding binding relationship. Therefore, after obtaining the callback from the intermediate number platform, the calling system needs to re-determine the available first number and establish the binding relationship among the first number, the bridging number, and the second number.
[0136] In step S613, the calling system determines whether there is an unoccupied first number. If not, it executes step S614; if so, it executes step S615.
[0137] When the calling system obtains the callback (callback request) from the intermediate number platform, based on the callback request for requesting the first number bound to the bridging number and the second number, and since the calling system does not maintain the corresponding binding relationship when the second user calls the first user, the calling system can determine whether there is an unoccupied first number currently (i.e., determine whether there is an available first number) to select a target first number from the unoccupied first numbers to establish the binding relationship. In some embodiments, the calling system can determine whether there is a first number with a marked information of unoccupied currently according to the marked information of the first numbers in the first number pool.
[0138] In step S614, the calling system ends the call.
[0139] The calling system determines that there is no unoccupied first number currently, which means that all the first numbers in the first number pool are occupied and there is no first number available to establish the binding relationship. Therefore, the calling system can end the call.
[0140] In step S615, the calling system selects a target first number from the unoccupied first numbers.
[0141] In step S616, the calling system establishes the binding relationship among the target first number, the bridging number, and the second number, and caches the binding relationship.
[0142] If the calling system determines that there is an unoccupied first number, it can select a target first number from the unoccupied first number and re-establish the binding relationship between the target first number, the bridge number and the second number; the calling system can cache the binding relationship (for example, the calling system can map the unique call identifier of the call request with the binding relationship and cache the mapping information in a cache device).
[0143] It should be noted that after the binding relationship between the first number, the bridge number and the second number is established, the binding relationship can be unique, that is, another unique number can be determined by any two of the first number, the bridge number and the second number. It can be understood that the first number in the first number pool is set to be used by the first user. Therefore, in the embodiment of the present application, when the second user calls the first user, the first number determined by the calling system from the first number pool for establishing the binding relationship may not be the same as the first number used when the first user calls the second user; using any available first number in the first number pool to establish a binding relationship between the bridge number and the second number, the calling system can realize the incoming call of the first user when the call request reaches the calling system.
[0144] In step S617, the calling system feeds back the target first number bound with the bridge number and the second number to the intermediate number platform.
[0145] In step S618, the intermediate number platform feeds back the target first number to the telecommunications operator platform.
[0146] In step S619, the telecommunications operator platform initiates a call request for the bridge number to call the target first number to the calling system.
[0147] After the telecommunications operator platform obtains the target first number fed back by the intermediate number platform, it can adjust the call request of the second number calling the bridge number to a call request of the bridge number calling the target first number, and send the call request of the bridge number calling the target first number to the call system of the cloud service platform so that the call request can be delivered according to the call requirements of the call system.
[0148] In step S620, the calling system determines the second number bound to the bridge number and the target first number according to the cached binding relationship.
[0149] In step S621, the calling system sends a call request for the second number to call the bridge number to the first user terminal.
[0150] After obtaining the call request sent by the telecom operator platform for the bridge number to call the target first number, the call system of the cloud service platform can accurately restore the second number of the second user according to the binding relationship cached in step S616. Furthermore, the call system can generate a call request for the second number to call the bridge number, and send the call request to the first user terminal to establish a call link with the second number through the bridge number and reach the first user.
[0151] It can be seen that in the embodiment of the present application, the binding relationship between the target first number, the bridge number and the second number is maintained in the call system, while the intermediate number platform does not maintain the binding relationship. This is because in the incoming call scenario of the first user, the call system can subsequently use its own cached binding relationship to accurately restore the second number used by the second user to call, without having to use the intermediate number platform.
[0152] Furthermore, when the first user responds to a call request sent by the cloud service platform (for example, when the first user answers or hangs up a call from the second user), the cloud service platform may unbind the binding relationship between the target first number, the bridge number, and the second number, and mark the target first number as unoccupied; for example, the calling system may delete the cached record of the binding relationship between the target first number, the bridge number, and the second number, and mark the marking information of the target first number as unoccupied in the first number pool.
[0153] In an implementation example, the implementation example in which the second user calls the first user may include the following process:
[0154] When the second user calls the first user, the second user initiates a call request for number B to call number X to the telecom operator platform through the call interface;
[0155] The telecom operator platform calls the intermediate number platform based on the X number in the call request and requests the intermediate number platform for the A number bound to the X number and the B number;
[0156] The intermediate number platform calls back the calling system and requests the A number from the calling system;
[0157] The calling system determines an unoccupied A number from the A number pool, establishes a binding relationship between the A number, the X number, and the B number, and caches them, and at the same time marks the A number as occupied in the A number pool; it can be seen that in the embodiment of the present application, when the A number pool is efficiently reused, the intermediate number platform calls back the calling system through the routing of the X number during the process of the second user calling the first user, so that the calling system determines an unoccupied A number from the A number pool, and then establishes a binding relationship;
[0158] The calling system feeds back the A number bound to the X number and the B number to the intermediate number platform;
[0159] The intermediate number platform feeds back the A number to the telecom operator platform;
[0160] The telecom operator platform sends a call request to the call system to call the A number using the X number;
[0161] The call system determines the B number bound to the X number and the A number, so as to accurately restore the B number used by the second user for calling;
[0162] The call system sends a call request to call the X number using the B number to the first user (for example, the SIP client of the first user).
[0163] In the embodiment of the present application, when the call request of the first user to call the second user is responded by the second user, the binding relationship between the first number, the bridging number and the second number can be unbound in advance, so that the first number can be released in time, improving the utilization rate of the first number. And when the second user calls the first user, in the embodiment of the present application, through the callback of the intermediate number platform to the call system, the call system can determine the unoccupied first number, and establish the binding relationship between the first number, the bridging number and the second number, so that the call request of the second user to call the first user can be smoothly routed to the call system, and the call system can accurately restore the second number of the second user, thus ensuring that the second user can successfully call the first user and solving the incoming call problem of the first user.
[0164] Next, the call device provided by the embodiment of the present application will be introduced. The call device described below can be regarded as a functional module set by the cloud service platform to implement the call method provided by the embodiment of the present application. The device content described below can be correspondingly referred to the method content described above.
[0165] As an optional implementation, Figure 7 An optional block diagram of the call device provided by the embodiment of the present application is exemplarily shown. The call device can be applied to the cloud service platform. Referring to Figure 7 , the call device may include:
[0166] A call service acquisition module 710, configured to acquire a call service initiated by a first user, where the call service uses a bridging number to call a second number of a second user;
[0167] A binding relationship establishment module 711, configured to select a target first number for the first user from unoccupied first numbers; and establish a binding relationship between the target first number, the bridging number and the second number and mark the target first number as occupied;
[0168] A call request initiation module 712 is configured to initiate a call request for the target first number to call the bridging number to the telecommunications operator platform through a softswitch according to the binding relationship, so that the telecommunications operator platform sends a call request for the bridging number to call the second number to the second user according to the binding relationship;
[0169] A monitoring module 713 is configured to monitor media events of a call request from the telecommunications operator platform through a softswitch;
[0170] An unbinding module 714 is configured to unbind the binding relationship and mark that the target first number is not occupied when a call request response event of the second user for the call request is monitored from the telecommunications operator platform through a softswitch.
[0171] In some embodiments, the call request response event includes a call request connection event when the second user answers the call request, or a call request hang-up event when the second user hangs up the call request.
[0172] In some embodiments, the unbinding module 714 is configured to unbind the binding relationship when a call request response event of the second user for the call request is monitored from the telecommunications operator platform through a softswitch, including:
[0173] When a call request connection event or a call request hang-up event of the second user for the call request is monitored from the telecommunications operator platform through a softswitch, the binding relationship is unbound.
[0174] In some embodiments, a binding relationship establishment module 711 is configured to establish a binding relationship among a target first number, a bridging number, and a second number, including:
[0175] Invoking a binding interface of an intermediate number platform to send a binding request for establishing a binding relationship among the target first number, the bridging number, and the second number to the intermediate number platform;
[0176] And / or, establishing a binding relationship among the target first number, the bridging number, and the second number and caching it.
[0177] In some embodiments, the unbinding module 714 is configured to unbind the binding relationship, including:
[0178] Invoking an unbinding interface of the intermediate number platform to send an unbinding request for unbinding the binding relationship among the target first number, the bridging number, and the second number to the intermediate number platform;
[0179] And / or, deleting the cached record of the binding relationship.
[0180] In some embodiments, the binding relationship establishing module 711 is configured to select a target first number for the first user from unoccupied first numbers, including:
[0181] Determine an unoccupied first number in the first number pool according to the marking information of the first number in the first number pool; the first number pool records a plurality of first numbers and the marking information of the first numbers, and the marking information of the first number marks whether the first number is occupied;
[0182] A target first number is selected for the first user from the determined unoccupied first numbers.
[0183] In some embodiments, the binding relationship establishing module 711, for marking the target first number as occupied, comprises: marking the marking information of the target first number in the first number pool as occupied.
[0184] In some embodiments, the unbinding module 714, for marking the target first number as unoccupied, comprises: marking the marking information of the target first number in the first number pool as unoccupied.
[0185] In some further embodiments, the calling device may also be used to:
[0186] Recording a unique call identifier of the call service, determining mapping information between the unique call identifier and the binding relationship, and caching the mapping information;
[0187] Before unbinding the binding relationship, determine the unique call identifier carried by the call request response event, and search the cached mapping information for the binding relationship mapped to the determined unique call identifier, so that the unbinding module 714 unbinds the found binding relationship.
[0188] As another optional implementation, Figure 8 Another optional block diagram of the calling device provided in the embodiment of the present application is shown as an example. The calling device can be applied to the cloud service platform. Figure 8 , the calling device may include:
[0189] The request acquisition module 810 is used to acquire a callback request from the intermediate number platform when the second user calls the first user, wherein the callback request is used to request the first number bound to the bridge number and the second number; wherein when the second user calls the first user, the second user uses the second number of the second user and the bridge number to initiate a call to the telecommunications operator platform;
[0190] The binding module 811 is used to select a target first number from unoccupied first numbers; establish a binding relationship between the target first number, the bridge number and the second number and cache the binding relationship; and mark the target first number as occupied;
[0191] A feedback module 812, configured to feedback the target first number to the middle number platform, so that the middle number platform feedbacks the target first number to the telecom operator platform;
[0192] A call acquisition module 813, configured to acquire a call request for the bridge number to call the target first number sent by the telecom operator platform;
[0193] A call terminal module 814, configured to send a call request for the second number to call the bridge number to the first user terminal according to the cached binding relationship.
[0194] In some further embodiments, the call device can also be used for:
[0195] When the first user responds to the call request, deleting the cached record of the binding relationship and marking that the target first number is not occupied.
[0196] In some embodiments, the binding module 811, for selecting a target first number from the unoccupied first numbers, includes: determining the unoccupied first numbers in the first number pool according to the marking information of the first numbers in the first number pool; the first number pool records a plurality of first numbers and the marking information of the first numbers, and the marking information of the first numbers marks whether the first numbers are occupied; selecting a target first number from the determined unoccupied first numbers.
[0197] The call device is used to mark that the target first number is not occupied, including: marking the marking information of the target first number in the first number pool as not occupied.
[0198] An embodiment of the present application further provides a cloud service platform, which can implement the call method provided by the embodiment of the present application by setting the above-mentioned call device. As an optional implementation, the cloud service platform may include one or more cloud servers. Figure 9 Exemplarily shows an optional block diagram of a cloud server, as Figure 9 shown, the cloud server may include: at least one processor 91, at least one communication interface 92, at least one memory 93 and at least one communication bus 94.
[0199] In the embodiment of the present application, the number of the processor 91, the communication interface 92, the memory 93, and the communication bus 94 is at least one, and the processor 91, the communication interface 92, and the memory 93 complete mutual communication through the communication bus 94.
[0200] Optionally, the communication interface 92 may be an interface of a communication module for network communication.
[0201] Optionally, the processor 91 may be a CPU, a GPU (Graphics Processing Unit), an NPU (embedded neural network processor), an FPGA (Field Programmable Gate Array), a TPU (tensor processing unit), an AI chip, an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application, etc.
[0202] The memory 93 may include high-speed RAM memory and may also include non-volatile memory, such as at least one disk memory.
[0203] Among them, the memory 93 stores one or more computer-executable instructions, and the processor 91 invokes the one or more computer-executable instructions to execute the call method provided by the embodiments of the present application.
[0204] The embodiments of the present application further provide a storage medium that stores one or more computer-executable instructions. When the one or more computer-executable instructions are executed, the call method provided by the embodiments of the present application is implemented.
[0205] The embodiments of the present application further provide a computer program. When the computer program is executed, the call method provided by the embodiments of the present application is implemented.
[0206] The above describes multiple embodiment solutions provided by the embodiments of the present application. The optional methods described in each embodiment solution can be combined and cross-referenced with each other without conflict, so as to extend a variety of possible embodiment solutions, all of which can be considered as the embodiment solutions disclosed and made public by the embodiments of the present application.
[0207] Although the embodiments of the present application are disclosed as above, the present application is not limited thereto. Any person skilled in the art can make various changes and modifications without departing from the spirit and scope of the present application. Therefore, the protection scope of the present application should be subject to the scope defined by the claims.
Claims
1. A calling method, wherein, include: Acquire a call service initiated by the first user, where the call service uses the bridge number to call a second number of the second user; Selecting a target first number for the first user from unoccupied first numbers; and, establishing a binding relationship between the target first number, the bridge number and the second number and marking the target first number as occupied; According to the binding relationship, initiating a call request for the target first number to call the bridge number to the telecommunications operator platform through the soft switch, so that the telecommunications operator platform sends a call request for the bridge number to call the second number to the second user according to the binding relationship; and, through soft switching, monitoring media events of call requests from the telecommunications operator platform; When a call request response event of the second user to the call request is monitored from the telecommunications operator platform through the soft switch, the binding relationship is unbound and the target first number is marked as unoccupied.
2. The method according to claim 1, wherein, The call request response event includes a call request connection event when the second user connects the call request, or a call request hang-up event when the second user hangs up the call request; When a call request response event of the second user to the call request is monitored from the telecommunications operator platform through the soft switch, unbinding the binding relationship includes: When a call request connection event or a call request disconnection event of the second user in response to the call request is monitored from the telecommunications operator platform through the soft switch, the binding relationship is untied.
3. The method according to claim 1 or 2, wherein The step of establishing a binding relationship between the target first number, the bridge number and the second number includes: Calling the binding interface of the intermediate number platform, and sending a binding request to the intermediate number platform to establish a binding relationship between the target first number, the bridge number, and the second number; and / or, establishing a binding relationship between the target first number, the bridge number and the second number and caching them; The unbinding of the binding relationship includes: Calling the unbinding interface of the intermediate number platform, and sending an unbinding request to the intermediate number platform to unbind the binding relationship between the target first number, the bridge number and the second number; And / or, deleting the cache record of the binding relationship.
4. The method according to claim 1 or 2, wherein The selecting a target first number for the first user from the unoccupied first numbers comprises: Determine an unoccupied first number in the first number pool according to the marking information of the first number in the first number pool; the first number pool records a plurality of first numbers and the marking information of the first numbers, and the marking information of the first number marks whether the first number is occupied; Selecting a target first number for the first user from the determined unoccupied first numbers; The marking of the target first number as occupied comprises: marking the marking information of the target first number in the first number pool as occupied; The marking of the target first number as unoccupied includes: marking the marking information of the target first number in the first number pool as unoccupied.
5. The method according to claim 1 or 2, wherein Also includes: Recording a unique call identifier of the call service, determining mapping information between the unique call identifier and the binding relationship, and caching the mapping information; Before unbinding the binding relationship, the unique call identifier carried by the call request response event is determined, and the binding relationship mapped to the determined unique call identifier is searched from the cached mapping information, so as to unbind the found binding relationship.
6. A calling method, wherein, include: When the second user calls the first user, a callback request of the intermediate number platform is obtained, wherein the callback request is used to request the first number bound to the bridge number and the second number; wherein when the second user calls the first user, the second user uses the second number of the second user and the bridge number to initiate a call to the telecommunications operator platform; Selecting a target first number from unoccupied first numbers; establishing a binding relationship between the target first number, the bridge number, and the second number and caching the binding relationship; and marking the target first number as occupied; Feedback the target first number to the intermediate number platform, so that the intermediate number platform feeds back the target first number to the telecommunications operator platform; Obtaining a call request sent by a telecommunications operator platform for the bridge number to call a target first number; A call request for the second number to call the bridge number is sent to the first user terminal according to the cached binding relationship.
7. The method according to claim 6, wherein Also includes: When the first user responds to the call request, the cache record of the binding relationship is deleted, and the target first number is marked as unoccupied.
8. The method according to claim 7, wherein The selecting a target first number from the unoccupied first numbers comprises: Determine an unoccupied first number in the first number pool according to the marking information of the first number in the first number pool; the first number pool records a plurality of first numbers and the marking information of the first numbers, the marking information of the first number marking whether the first number is occupied; select a target first number from the determined unoccupied first numbers; The marking the target first number as unoccupied includes: marking the marking information of the target first number in the first number pool as unoccupied.
9. A cloud service platform, wherein, comprising one or more cloud servers, the cloud servers comprising at least one memory and at least one processor; The memory stores one or more computer executable instructions, and the processor calls the one or more computer executable instructions to execute the calling method as described in any one of claims 1-5, or the calling method as described in any one of claims 6-8.
10. A storage medium, wherein, The storage medium stores one or more computer executable instructions, and when the one or more computer executable instructions are executed, the calling method as described in any one of claims 1-5, or the calling method as described in any one of claims 6-8 is implemented.
Citation Information
Patent Citations
Method, device and system for call control
CN101771769A
Virtual number-based communication method, system, server and storage medium
CN109257509A