System and method for redirecting calls over multiple cellular networks
By realizing multi-cellular network connection on the server, identifying and replacing phone number information, the problem of allocating multiple phone numbers to a SIM card in 4G and 5G networks is solved, and call repetition between multiple cellular networks is realized Directed, simplifying network architecture requirements.
Patent Information
- Application Number
- CN202411106855.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-23
- Filing Date
- 2024-08-13
- Publication Date
- 2025-02-25
AI Technical Summary
In 4G and 5G cellular networks, it is difficult to assign multiple phone numbers to a SIM card, especially when redirecting calls between multiple cellular networks.
By implementing a multi-cellular network connection on the server, a mobile called request from the second cellular network is received, a first telephone number associated with the second telephone number is identified, and the information in the request is replaced and forwarded to the first Call redirection is completed in the cellular network.
A seamless redirection of calls between multiple cellular networks is achieved, simplifying the need for a second (partner) cellular network or home (home) cellular network architecture without even changing the existing architecture.
Smart Images

Figure CN119521151A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to cellular networks, and more particularly to methods and systems for redirecting calls across multiple cellular networks. Background Art
[0002] Mobile phones have become an integral part of human life and have fundamentally changed the way people work, socialize, organize, and entertain themselves. For example, a mobile phone is an efficient communication device that allows users to make and receive calls anytime and anywhere, and a called party can be contacted by another calling party regardless of where the mobile phone is located, either through the same or a different cellular network as the called party. In order to identify a user's mobile phone in a cellular network, the mobile phone is usually equipped with a SIM card, which contains the data required to confirm the user's subscription in the operator's network. An example of such a user identity is the International Mobile Subscriber Identity (IMSI), which uniquely identifies a user throughout the cellular network (e.g., through the SIM card). On the other hand, the Mobile Subscriber Integrated Services Digital Network Number (MSISDN) represents the telephone number of a mobile phone, through which a caller can make a call to a target mobile phone. Traditionally, each IMSI is associated with an MSISDN.
[0003] Some mobile users wish to have multiple mobile phone numbers for different purposes, and there are traditionally various ways to achieve this. For example, a user can carry two mobile phones, each with two different phone numbers. On the other hand, some mobile phones have dual SIM card slots, and a user can use two SIM cards associated with two different phone numbers on the same device. However, it has traditionally been difficult to assign multiple phone numbers to a single SIM card, especially in 4G and 5G cellular networks. Summary of the invention
[0004] In view of the above background, an object of the present invention is to provide another system and method for redirecting calls on multiple cellular networks in order to solve the above technical problems.
[0005] Those skilled in the art will derive other objects of the present invention from the following description. Therefore, the above-mentioned statements of objects are not exhaustive, but are only intended to illustrate some of the numerous objects of the present invention.
[0006] In a first aspect of the present invention, a method for redirecting calls on multiple cellular networks is provided, comprising the following steps: receiving a mobile called request issued to a second telephone number of a second cellular network; sending the request to a server, which is simultaneously connected to the second cellular network and the first cellular network; the server identifying a first telephone number associated with the second telephone number; wherein the first telephone number belongs to the first cellular network; in response to identifying the first telephone number, modifying the request by replacing information associated with the second telephone number with information associated with the first telephone number; and forwarding the modified request to a mobile phone registered with the first telephone number in the first cellular network.
[0007] Preferably, the second telephone number is registered in the second cellular network, and in this case the server is equivalent to a virtual mobile phone.
[0008] Preferably, in an HSS (Home Subscriber Server) of the second cellular network, the server address of the server is registered as an S-CSCF (Serving Call Session Control Function) address of the second telephone number.
[0009] Preferably, the step of sending the request to the server also includes: an I-CSCF (Interrogating Call Session Control Function) in the second cellular network queries the HSS for a server address according to the second telephone number; and the I-CSCF sends the request to the server via the server address.
[0010] Preferably, the server further comprises a database and a cache. The cache contains the contract record obtained from the database. The step of identifying the first telephone number by the server further comprises searching the cache using the second telephone number. Identifying the first telephone number associated with the second telephone number.
[0011] Preferably, the server further comprises a message gateway. The step of sending the request to the server further comprises directing the request to the message gateway.
[0012] Preferably, the step of modifying the request further comprises modifying the request by the information gateway. The step of forwarding the modified request further comprises forwarding the modified request by the information gateway to the first cellular network.
[0013] Preferably, the above request is a SIP INVITE message.
[0014] In a second aspect of the present invention, a method for virtually registering a second telephone number for a mobile phone having a first telephone number is provided. The method comprises the following steps: sending a first registration request from a first cellular network to which the first telephone number belongs to a server; determining, by the server, that the first registration request is valid; in response to the first registration request being valid, sending, by the server, a second registration request to a second cellular network to which the second telephone number belongs; and registering the second telephone number in the second cellular network, wherein the server is equivalent to a virtual mobile phone in the second cellular network.
[0015] Preferably, the first request includes a first telephone number and a second telephone number.
[0016] Preferably, the server comprises a database. The step of determining whether the first registration request is valid further comprises one or more of the following steps: checking whether there is an existing record corresponding to the first telephone number in the database; and checking whether there is an existing record corresponding to the second telephone number in the database.
[0017] Preferably, the step of sending the second registration request further comprises sending the second registration request to an HSS of the second cellular network.
[0018] Preferably, the step of registering the second telephone number further comprises registering the server address of the server as the S-CSCF address of the second telephone number in the HSS.
[0019] In a third aspect of the present invention, a system for redirecting calls on multiple cellular networks is provided. The system includes a server, which is suitable for connecting to a first cellular network and a second cellular network at the same time. The server includes one or more processors, and a memory. The memory stores computer executable instructions, which, when executed, enable one or more processors to perform the following operations: receiving a mobile called request issued to a second telephone number of a second cellular network; identifying a first telephone number associated with the second telephone number, the first telephone number belonging to the first cellular network; in response to identifying the first telephone number, modifying the request, replacing information related to the second telephone number with information related to the first telephone number; and forwarding the modified request to a mobile phone registered with the first telephone number in the first cellular network.
[0020] In a fourth aspect of the present invention, a system for virtually registering a second telephone number of a mobile phone with a first telephone number is provided. The system includes a server that can simultaneously connect to a first cellular network and a second cellular network. The server includes one or more processors; and a memory storing computer executable instructions. When these instructions are executed, the one or more processors can perform the following operations: receiving a first registration request from a first cellular network to which the first mobile phone number belongs; determining that the first registration request is valid; and in response to the first registration request being valid, sending a second registration request to a second cellular network to which the second mobile phone number belongs.
[0021] In a fifth aspect of the present invention, a system for virtually registering a second telephone number of a mobile phone with a first telephone number is provided. The system includes a server: the server is connectable to a first cellular network and a second cellular network. The server includes: an information gateway configured to communicate with each of the first cellular network and the second cellular network, a database connected to the information gateway, a subscription manager connected to the database, and a virtual registration controller connected to the subscription manager. The subscription manager is configured to: receive a first registration request from the first cellular network to which the first telephone number belongs; verify the first registration request; write a subscription record to the database in response to the first registration request being valid; and cause a second registration request to be sent to the second cellular network; wherein the subscription record contains association information of the first telephone number and the second telephone number.
[0022] Preferably, the message gateway is configured to communicate with session border controllers of the first cellular network and the second cellular network.
[0023] Preferably, the system further comprises an API gateway configured to receive a first registration request from the first cellular network.
[0024] Preferably, the system further comprises a cache connected to the message gateway, and a cache manager connected to the cache and the database. The cache manager is configured to write the contract record into the cache in response to the contract record being written into the database.
[0025] Preferably, the subscription manager is further configured to create a second request event to the virtual registration controller when writing the subscription record to the database. The virtual registration controller is further configured to send a second registration request to the second cellular network in response to receiving the second request event from the subscription manager.
[0026] Therefore, various embodiments of the present invention provide effective systems and methods for redirecting calls on multiple cellular networks. Since only an independent service platform (such as a server) connected to the first and second cellular networks needs to be configured, the changes to the second (partner) cellular network or the main (home) cellular network architecture are minimal, or even no changes are required. In one example, the independent service platform can perform the following steps: extracting a call signal from the partner network, modifying the call signal to convert the called number from the second number to the first number, and forwarding the call signal to the home network. For example, the system and method according to an embodiment of the present invention can be used to provide a mobile called service with a secondary number for a single IMSI multiple number (SIMN) user on a 4G or 5G non-independent (NSA) or independent (SA) mobile network. In addition, after successful registration, the secondary number can be used not only to receive calls, but also to receive text messages. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The above and other features of the present invention will be apparent from the following description of preferred embodiments, which are provided by way of example only in conjunction with the accompanying drawings, in which:
[0028] Figure 1 A schematic diagram of a system suitable for redirecting calls on two independent cellular networks according to a first embodiment of the present invention is shown.
[0029] Figure 2 Shown in Figure 1 In the system, a process of virtually registering a second telephone number in a second cellular network for a mobile phone from a first cellular network.
[0030] Figure 3 is a flow chart showing Figure 2 The main steps in the process.
[0031] Figure 4 is a flow chart showing the Figure 3 As part of the method, the cache manager writes the contract record to the cache based on the update in the database.
[0032] Figure 5 is a flow chart showing the steps of sending a second registration request to a second cellular network by the virtual registration controller and confirming whether the registration is successful. Figure 3 Part of the method.
[0033] Figure 6 is a flow chart showing Figure 1 The main steps for deregistering a second telephone number for a mobile phone in a system.
[0034] Figure 7is a flow chart showing the steps in which the cache manager removes contract records from the cache based on updates in the database. Figure 6 Part of the method.
[0035] Figure 8 is a flow chart showing the Figure 6 The method comprises the step of sending a second deregistration request from a second cellular network to the virtual registration controller, and confirming whether the deregistration is successful.
[0036] Fig. 9 Shown in Figure 1 In the system, the server redirects the telephone call of the called second telephone number to the mobile phone of the first cellular network.
[0037] Fig.10 It is shown Fig. 9 The first part of the flowchart of the individual steps in the process.
[0038] Fig.11 It is shown Fig. 9 The second part of the flowchart shows the steps in the process.
[0039] Fig.12 It is shown Fig. 9 The third part of the flowchart shows the steps in the process.
[0040] Fig.13 An exemplary architecture of a 5G SA network is shown. DETAILED DESCRIPTION
[0041] In the appended claims and description of the invention, unless the context requires otherwise either explicitly or by necessary implication, the word "comprise" or variations such as "consisting of" or "composed of" are used in an inclusive sense, i.e., meaning to specify the presence of the stated features but not to exclude the presence or addition of further features in various embodiments of the invention.
[0042] As used herein and in the claims, "coupled" or "connected" means electronically coupled or connected, either directly or indirectly, via one or more electronic means, unless otherwise indicated.
[0043] See also Figure 1 A first embodiment of the present invention is a system that allows a telephone call to be redirected from one cellular network to another cellular network. Figure 1As shown, the system includes a second cellular network 22, a first cellular network 20, and a server 24 connected to the second cellular network 22 and the first cellular network 20. The first cellular network 20 and the second cellular network 22 can be the same or different types of cellular networks. For example, the first cellular network 20 and the second cellular network 22 can both be 4G LTE (Long Term Evolution) networks, 5G NSA mobile networks, or 5G SA mobile networks. The first cellular network 20 and the second cellular network 22 are logically separated from each other, so that the IMSI or MSISDN provided by one of the first cellular network 20 and the second cellular network 22 will not be simultaneously registered in the other of the first cellular network 20 and the second cellular network 22. For example, the first cellular network 20 and the second cellular network 22 are operated by different operators, and / or the first cellular network 20 and the second cellular network 22 may be located in different geographical regions or countries. However, in some cases, the first cellular network 20 and the second cellular network 22 may belong to different operators in the same geographical region. In some cases, the operators of the first cellular network 20 and the second cellular network 22 can become partners, thereby providing SIMN services to users of the two cellular networks (with the help of the server 24).
[0044] like Figure 1 As shown, the first cellular network 20 and the second cellular network 22 each have an architecture similar to a 4G LTE network or a 5G NSA network. Figure 1 The architectures of the first cellular network 20 and the second cellular network 22 are substantially the same and are well known to those skilled in the art. Figure 1 The architecture and working principle of the first cellular network 20 and the second cellular network 22 including the components shown are not described in detail here.
[0045] The server 24 is a dedicated platform that facilitates the provision of SIMN services to mobile phones, or more specifically, to the IMSI of mobile phones, for example in the form of a SIM card installed in the mobile phone. The server 24 includes a SIP gateway 40 used as a message gateway, which is simultaneously connected to the SBC (Session Border Controller) 20b of the first cellular network 20 and the SBC 22b of the second cellular network 22. In the server 24, the SIP gateway 40 is connected to a cache 38, which in turn is connected to a cache manager 36. The cache manager 36 is simultaneously connected to the cache 38 and the database 34. The database 34 is connected to a subscription manager 30. The subscription manager 30 is connected on one hand to an API (Application Program Interface) gateway 32, which is connected to a CRM (Customer Relationship Manager) 20a of the first cellular network 20. On the other hand, the subscription manager 30 is connected to a message queue 28 in the server 24, which is connected to a virtual registration controller 26. The virtual registration controller 26 is connected to an HSS 22c of the second cellular network 22.
[0046] After introducing the internal functional units and modules of the server 24 and its connection with the first cellular network 20 and the second cellular network 22, a method for virtually registering a second mobile phone number for a mobile phone 42 in the first cellular network 20 in the second cellular network 22 via the server 24 will now be introduced. Figure 2 Reappeared Figure 1 system, but shows the signal flow during the virtual registration process, while Figure 3-5 The detailed steps related to the virtual registration process are described in Figure 2-3 The first step of the method is to send an initial request from the CRM 20a of the first cellular network 20 to the API gateway 32 of the server 24 in step 44. The initial request is for Figure 2 The first registration request for the mobile phone 42 to register the SIMN service. The SIMN service refers to a single IMSI ( Figure 2For example, in the embodiment of the present invention, not shown in the figure, not only the first default telephone number is provided by the first cellular network 20, but also the second virtual telephone number is provided by the second cellular network 22. After the registration is completed, the second telephone number will be associated with the mobile phone 42, but this does not mean that the mobile called call placed to the second telephone number will be directly forwarded to the mobile phone 42, but the call signal will be modified and redirected by the server 24, which will be described in detail later. Please note that for ease of reference, in this embodiment, the first cellular network 20 is also referred to as the home (primary) network, because the IMSI and the default MSISDN (i.e., the first telephone number) of the mobile phone are both provided by the first cellular network 20. On the other hand, the second cellular network 22 is referred to as the partner (secondary) network in this embodiment, and the second telephone number is the second MSISDN.
[0047] The initial request sent by the CRM 20a of the first cellular network 20 contains detailed information of the desired SIMN service in the form of request parameters, including but not limited to the IMSI of the mobile phone 42, the first telephone number of the mobile phone 42 belonging to the first cellular network 20, the desired second telephone number used in the second cellular network 22, and the desired virtual IMSI for the second telephone number. As will be appreciated by those skilled in the art, the IMSI is used as an important master key in the HSS of the cellular network to which the IMSI belongs, and for the second mobile telephone number, although no real mobile phone or, for example, a physical SIM card is provided, a virtual IMSI is still required in order to properly register the second mobile telephone number in the second cellular network 22. In step 62, the API gateway 32 verifies the initial request, and in step 64, the API gateway 32 determines whether the request parameters are valid. If the request parameters are invalid, for example, the desired second telephone number is not specified in the first registration request, the method enters step 64. Figure 3 In step 84, in which the API gateway 32 provides a response to the CRM 20a of the first cellular network 20, indicating that an error occurred during the virtual registration process, and provides an error code to the CRM 20a (e.g., indicating that the second telephone number is missing in the request), and then the method ends.
[0048] On the other hand, if it is determined in step 64 that the request parameters in the initial request are valid, then the method will continue and enter step 46, in which the API gateway 32 sends the contract request to the contract manager 30. The contract manager 30 will then perform a series of checks on the contract request. In particular, in step 68, the contract manager 30 verifies the request parameters in the contract request with the records in the database 34. The records in the database 34 include Figure 3The method may be used to determine the existing subscription records before the method is performed, such as the subscription records of other users who use the SIMN service. In step 70, the subscription manager 30 checks whether the same user (of the mobile phone 42) has already subscribed to the SIMN service of the second phone number. If so, there is no need to register again. In this case, the method proceeds to step 82, in which the subscription manager 30 replies to the API gateway 32 that there is an error and provides an error code to the latter. Then, the API gateway 32 replies to the CRM 20a of the first cellular network 20 in step 84 that there is an error and provides an error code, similar to the content described above after determining that the request parameters are invalid in step 64. If it is determined in step 70 that the user has not previously performed the same registration, the method proceeds to step 72, in which the subscription manager 30 checks whether the required second phone number is the same as the virtual phone number assigned in any existing record. Obviously, if the same second phone number is found in the previous record, it means that this number can no longer be assigned to the user of the mobile phone 42. If this happens, the method will proceed to step 82, in which the subscription manager 30 replies to the API gateway 32 with information that an error has occurred and provides an error code to the latter. The API gateway 32 then responds with an error to the CRM 20a of the first cellular network 20 in step 84, and provides an error code, similar to the case of invalid request parameters in step 64 above. If there is no previous record of the second telephone number in the database 34, the method can continue and enter step 48.
[0049] Please note that the error result code from the subscription manager 30 to the API gateway 32 may be the same as or different from the error result code from the API gateway 32 to the CRM 20a. Preferably, the error result code generated by step 64 is different from the error result code generated by steps 70 and 72, so that the error type of each failure event can be clearly identified.
[0050] In step 48, the subscription manager 30 writes a subscription record for the mobile phone 42 in the database 34, and the subscription record contains the association information between the second telephone number and the first telephone number. Figure 3 In the text, it is represented by an ellipse symbol “A”. Specifically, Figure 4 As shown, after the contract manager 30 writes the contract record into the database 34, the contract manager 30 sends a notification to the cache manager 36 in step 50 that the contract record has been added. Therefore, the cache manager 36 receives the notification event from the database 34 in step 96, and then in step 52, the cache manager 36 writes the contract record (the same as the record written into the database 34 by the contract manager 30) into the cache 38. Then the subroutine "A" ends.
[0051] At the same time or after subroutine "A" is executed, Figure 3 The main flow of the method in the embodiment proceeds to step 54, in which the subscription manager 30 publishes a virtual registration request event to the message queue 28. The steps after step 54 are subroutines of the method. Figure 3 In the text, it is represented by the ellipse symbol "B". Specifically, Figure 5 As shown, after publishing the virtual registration request event to the message queue 28, the virtual registration controller 26 receives the virtual registration request events from the message queue 28 in sequence in step 56. Subsequently, the virtual registration controller 26 sends a second registration request, i.e., a virtual registration request (e.g., a server allocation request), to the HSS 22c of the second cellular network 22. The second registration request is sent from the server 24 to the second cellular network 22, while the first registration request (initial request) is sent from the first cellular network 20 to the server 24. The information contained in the second registration request indicates that the S-CSCF address (e.g., server name) of the virtual user of the second phone number is the server address of the server 24. In other words, the second registration request is like a typical mobile phone number registration, such as an IMS (IP Multimedia Subsystem) registration request, but the second registration request contains not the address of the actual S-CSCF in the mobile phone registration, but the server address of the server 24. Therefore, the second registration request is a virtual request, i.e., the server 24 is simulated as a mobile phone in the second cellular network 22 (i.e., equivalent to a mobile phone) and registered in the IMS of the second cellular network 22.
[0052] After receiving the second request, the HSS22c of the second cellular network 22 will process the second request in the same manner as a typical subscription request of a real mobile phone in the second cellular network 22. The operation of the HSS22c is well known to technicians and will not be described in detail here. Thereafter, in step 90, the virtual registration controller 26 determines whether the virtual registration of the second telephone number has been successfully completed. If so, the subroutine enters step 92, in which the virtual registration controller 26 confirms to the message queue 28 that the registration event has been successfully processed. Then subroutine "B" ends. However, if it is determined in step 90 that the virtual registration in the HSS22c was not successful, the subroutine returns to step 56 and attempts the virtual registration again.
[0053] Once subroutine "B" is finished, Figure 3The main flow of the method then enters step 78, in which the subscription manager 30 replies a success result code to the API gateway 32. Then, the API gateway 32 responds to the CRM 20a of the first cellular network 20 with a success result code, which means that the entire SIMN service subscription process has been completed and the second telephone number of the mobile phone 42 has been successfully registered. Please note that the success result code sent from the subscription manager 30 to the API gateway 32 may be the same as or different from the success result code sent from the API gateway 32 to the CRM 20a.
[0054] After introducing the registration / contracting process of SIMN service, we will now introduce the corresponding cancellation / termination process. The cancellation / termination process is basically Figure 3-5 A reverse version of the registration / signing process shown, such as Figure 6-8 Specifically, the deregistration / cancellation process begins with the CRM 20a of the first cellular network 20 sending an initial request to the API gateway 32 of the server 24 in step 144. The initial request is for Figure 2 The first request to cancel the registration of the mobile phone 42 in the initial request includes detailed information similar to the initial request for the registration of the SIMN service. In step 162, the API gateway 32 verifies the first request to cancel the registration. In step 164, the API gateway 32 determines whether the request parameters are valid. If the request parameters are invalid, for example, there is no indication of the second phone number to be cancelled, the method proceeds to Figure 6 In step 184, in which the API gateway 32 responds to the CRM 20a of the first cellular network 20, that is, an error occurs during the deregistration process, and provides an error code to the CRM 20a (for example, indicating that the second telephone number is missing in the request), and the method ends.
[0055] On the other hand, if it is determined in step 164 that the request parameters in the initial request are valid, the method will continue and enter step 146, in which the API gateway 32 sends a termination request to the contract manager 30. The contract manager 30 will then perform a series of checks on the termination request. In particular, in step 168, the contract manager 30 will verify the request parameters in the termination request against the records in the database 34. The records in the database 34 include Figure 6The method is to determine whether there is a subscription record that existed before the method. In step 170, the subscription manager 30 checks whether there is a user record of the SIMN service to be deregistered. If not, the method cannot continue because there is nothing to be deregistered. In this case, the method enters step 182, in which the subscription manager 30 reports an error to the API gateway 32 and provides the latter with an error code. Then, the API gateway 32 replies to the CRM 20a of the first cellular network 20 in step 184 that there is an error and provides an error code, similar to the situation described above after determining that the request parameter is invalid in step 164. If it is determined in step 170 that there is a user record, the method enters step 72, in which the subscription manager 30 checks whether the second telephone number to be deregistered conflicts with any existing record. For example, although the user record of the mobile phone 42 is found in step 170, the second telephone number to be deregistered is wrong, and it is actually a virtual telephone number registered by another user. If this happens, the method will enter step 182, in which the subscription manager 30 replies to the API gateway 32 that an error has occurred and provides the latter with an error code. Then, the API gateway 32 responds to the CRM 20a of the first cellular network 20 in step 184 that there is an error and provides an error code, similar to the situation described above after determining invalid request parameters in step 164. If no conflict between the second telephone number and the cancellation request is found in the database 34, the method can continue to execute and jump to step 148.
[0056] In step 148, the subscription manager 30 deletes the corresponding subscription record of the mobile phone 42 from the database 34. Step 148 is followed by a subroutine of the method, in which Figure 6 In the diagram, the ellipse symbol “A” is used to represent the Figure 7 As shown, after the contract manager 30 deletes the contract record from the database 34, the contract manager 30 sends a notification to the cache manager 36 in step 150, informing that the contract record has been deleted. As a result, the cache manager 36 receives the notification event from the database 34 in step 196, and then in step 152, the cache manager 36 deletes the contract record (the same as the record deleted from the database 34 by the contract manager 30) from the cache 38. Then the subroutine "A" ends.
[0057] At the same time or after subroutine "A", Figure 6 The main flow of the method in the embodiment proceeds to step 154, in which the subscription manager 30 publishes a virtual registration cancellation request event to the message queue 28. Step 154 is followed by a subroutine of the method, in which Figure 6 In the text, it is represented by the ellipse symbol "B". Specifically, Figure 8As shown, after publishing the virtual registration cancellation request event to the message queue 28, the virtual registration controller 26 then receives the virtual registration cancellation request event from the message queue 28 in step 156. Subsequently, the virtual registration controller 26 sends a second request for cancellation of registration, i.e., a virtual cancellation request (e.g., a server assignment request Server-Assignment-Request) to the HSS 22c of the second cellular network 22. The second request is sent from the server 24 to the second cellular network 22, while the first request (initial cancellation request) is sent from the first cellular network 20 to the server 24. The second request contains information indicating that the S-CSCF address of the virtual user (e.g., server name) of the second phone number is empty. In other words, the second request is similar to a typical phone number cancellation request in a real mobile phone.
[0058] Upon receipt of the second request, the HSS 22c of the second cellular network 22 will process the second request in the same manner as the real mobile phone cancellation request in the second cellular network 22. Then, in step 190, the virtual registration controller 26 determines whether the virtual deregistration of the second mobile phone number has been successfully completed. If so, the subroutine proceeds to step 192, in which the virtual registration controller 26 confirms to the message queue 28 that the deregistration event has been successfully processed. Then, the subroutine "B" ends. However, if it is determined in step 190 that the virtual deregistration in the HSS 22c was not successful, the subroutine returns to step 156 and attempts the virtual deregistration again.
[0059] After subroutine "B" ends, Figure 6 The main flow of the method enters step 178, where the subscription manager 30 replies a success result code to the API gateway 32. Then, the API gateway 32 responds a success result code to the CRM 20a of the first cellular network 20, which means that the entire SIMN service cancellation has been completed and the second telephone number of the mobile phone 42 has been successfully cancelled. Please note that the success result code from the subscription manager 30 to the API gateway 32 may be the same as or different from the success result code from the API gateway 32 to the CRM 20a.
[0060] Now watch Figure 9-12, the figure shows a method for redirecting a telephone call directed to a second telephone number registered by a server 24 to a first cellular network 20 and ultimately to the mobile phone 42. The redirection of the call spans the first cellular network 20 and the second cellular network 22, and relies on the server 24 as an intermediate platform to modify the call signal and forward the call signal. In summary, upon receiving a mobile called call of the second number, the I-CSCF 22d of the IMS in the second cellular network 22 will perform a query on the HSS22c, in which the server address of the server 24 will be returned. The call signal will then be redirected to the server 24 to perform a number conversion from the second number to the first number. After the number conversion is completed, the call will be transferred to the first cellular network 20 as the mobile called call of the primary number, and ultimately to the mobile phone 42.
[0061] In more detail, the method starts from step 200, in which another mobile phone 43 in another cellular network different from the first cellular network 20 or the second cellular network 22 attempts to call the second telephone number, as in the example scenario. It will be appreciated by those skilled in the art that the SBC 22b of the second cellular network 22 receives the mobile called call of the mobile phone 43 to the second telephone number. In this example, the call signal is a SIP INVITE request. Next, in step 202, the SBC 22b sends a SIP INVITE request to the I-CSCF 22d to try to find the S-CSCF of the "virtual mobile phone" associated with the second telephone number. In step 204, the I-CSCF 22d sends a query request (e.g., a location information request Location-Info-Request) to the HSS 22c to determine the S-CSCF address of the virtual mobile phone associated with the second telephone number. As mentioned above, the second telephone number is virtually registered, and there is no real S-CSCF associated with any mobile phone of the second telephone number. Instead, the server address of the server 24 is stored on the HSS22c as the S-CSCF address. Therefore, in step 206, HSS 22c returns the query result (e.g., location information response Location-Info-Answer) to I-CSCF 22d, and uses the server address of server 24 as the S-CSCF address of the user, because server 24 performed a previous virtual registration during the SIMN service subscription. Then, in step 208, I-CSCF 22d sends a SIP INVITE request to SIP gateway 40 of server 24 through SBC 22b. Then, the method flow chart is as follows: Fig.10 Span to Fig.11 , as shown by off-page connector "A".
[0062] like Fig.11As shown, in step 210, the SIP gateway 40 receives a SIP INVITE request from the SBC 22b of the second cellular network 22. Then, in step 211, the SIP gateway 40 decodes the SIP INVITE message (e.g., extracts the SIP header and the ISUP (Integrated Services Network User Part) parameters of the SIP-I), and then in step 212, the SIP gateway 40 performs a cache query in the cache 38 using the call destination number (e.g., Request-URI). In step 214, based on the query result of the cache 38, the SIP gateway 40 determines whether a cache record of the second telephone number is found. If not, the call redirection cannot be completed, and the SIP gateway 40 returns an error code (e.g., 404 Not Found) to the second cellular network 22 in step 250 to reject the call of the mobile phone 43. The method then ends. However, if in step 214, the SIP gateway 40 determines that a cache record of the second telephone number is found, the method continues and enters step 215. In step 215, the SIP gateway 40 modifies the target number (e.g., Request-URI, recipient, ISUP called party number) of the SIP INVITE message from the second telephone number to the first telephone number of the user of the mobile phone 42. Next, in step 216, the SIP gateway 40 sends the modified SIP INVITE message to the SBC 20b of the first cellular network 20. Then, the method flow chart is as follows: Fig.11 Cross to Fig.12 , as shown in off-page connector "B".
[0063] like Fig.12 As shown, in step 217, SBC 20b receives a modified SIP INVITE request from SIP gateway 40 for making a mobile call to the user's first telephone number. Then, in step 218, the modified SIP INVITE request is sent to I-CSCF 20d to locate the user's S-CSCF (i.e., the S-CSCF of mobile phone 42). The method will then proceed in the manner of a typical mobile called call as understood by those skilled in the art. In step 220, I-CSCF 20d issues a query request (e.g., location information request Location-Info-Request) to HSS20c of the first cellular network 20 to determine the user's S-CSCF address. In step 222, HSS20c returns the query result (e.g., location information response Location-Info-Answer) to I-CSCF 20d, along with the user's S-CSCF address during the registration process of mobile phone 42. In step 223, I-CSCF20d sends a query request to the user's S-CSCF ( Fig. 9In step 224, the S-CSCF locates and sends a SIP INVITE message to the proxy call control function of the SBC 20b. Then, in step 226, the proxy call control function of the SBC 20b locates and sends a SIP INVITE message to the mobile phone 42 (as the called party) according to the data path established in the packet data network gateway (PGW) 20e and the service gateway (SGW) 20f of the first cellular network 20. Finally, in step 228, the mobile phone 42 receives the SIP INVITE message, and a call session can be established between the mobile phone 43 in the second cellular network 22 and the mobile phone 42 in the first cellular network 22.
[0064] The exemplary embodiments of the present invention have been fully described. Although specific embodiments are mentioned in the description, it is clear to those skilled in the art that the present invention can be implemented by variations of these specific details. Therefore, the present invention should not be understood to be limited to the embodiments described herein.
[0065] Although the present invention has been illustrated and described in detail in the accompanying drawings and the foregoing description, these illustrations and descriptions should be regarded as exemplary rather than restrictive. It goes without saying that these illustrations and descriptions are only exemplary embodiments and do not limit the scope of the present invention in any way. It is understood that any feature described herein can be used in any embodiment. The exemplary embodiments of the present invention are not mutually exclusive, nor are they exclusive of other embodiments not described herein. Therefore, the present invention also provides an embodiment comprising a combination of one or more of the illustrative embodiments described above. Without departing from the spirit and scope of the present invention, the present invention may be modified and varied, and therefore, only the contents indicated in the appended claims shall be limited.
[0066] In the above exemplary embodiments, the user's IMSI is stored in a SIM card installed in a mobile phone. However, those skilled in the art should recognize that the present invention is not limited in any way to the IMSI, including the form or configuration of the IMSI. On the contrary, any user identifier that can be used to identify a user and / or his mobile phone in a cellular network can be used in the present invention. For example, some mobile phones are not equipped with a SIM card, but the user identifier is embedded in the mobile phone (and therefore cannot be removed). In addition, there are also mobile phones on the market that support eSIM, which does not require any physical SIM card. All of these mobile phones can be used in conjunction with the embodiments of the present invention to achieve call redirection from the second network to the first network.
[0067] exist Figure 1In the embodiment shown, the server contains a database, a cache and other components. However, those skilled in the art should understand that in a variation of the preferred embodiment, the database, the cache and the like may also be external and connected to the server, in which case the server is in a narrow sense, for example, a computing device that is actually without any storage means.
[0068] Figure 1 , Figure 2 and Fig. 9 A first and a second cellular network are shown, with exemplary architectures being 4G LTE or 5G NSA networks. Those skilled in the art will appreciate that the type and architecture of the cellular network is not limiting, and the present invention can be applied to any other modern cellular network, even networks other than 5G. For example, Fig.13 The architecture of an exemplary 5G SA network is shown in which the Evolved Packet Core (EPC) is replaced with the 5G Core (5GC) for integration with the IMS Core. Fig.13 The cellular network in the embodiment can also be connected to the SIMN platform according to different embodiments of the present invention, for example, in a similar manner to the above. Figure 1 Server docking in.
[0069] In the above exemplary embodiment of server virtual registration and call redirection, one of the two cellular networks is represented as the (first) primary network, in which the mobile phone to be called is located; the other is represented as the (second) partner network, in which the server is virtually registered as a mobile phone. However, it should be noted that the two networks can be interchangeable in any practical application, and / or each network can be used as both the primary network and the partner network. For example, the same server can be used to direct calls from the second cellular network to a mobile phone in the first cellular network, and at the same time direct calls from the first cellular network to another mobile phone in the second cellular network.
[0070] exist Figure 2-5 In the exemplary embodiment shown, the method for signing up for the SIMN service is to allocate a second telephone number to a mobile phone with a default first telephone number. Those skilled in the art will appreciate that the number of additional numbers registered for any mobile phone using the SIMN service is not limited to one, and in addition to the default first telephone number, two or more additional numbers may be registered for the mobile phone.
[0071] According to the exemplary embodiments disclosed herein, the functional units and modules of the server (e.g., Figure 1The functional units and modules shown as part of the server can be implemented using a computing device, a computer processor or an electronic circuit, including but not limited to an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) and other programmable logic devices configured or programmed according to the teachings of the present disclosure. The computer instructions or software codes running in the computing device, computer processor or programmable logic device can be easily written by practitioners who are proficient in software or electronic technology according to the teachings of the present disclosure.
[0072] This embodiment includes computer storage media, temporary and non-temporary storage devices, which store computer instructions or software codes that can be used to program a computer or microprocessor to perform any process or method performed by the server. The storage medium, temporary and non-temporary computer-readable storage medium may include, but is not limited to, floppy disks, optical disks, Blu-ray disks, DVDs, CD-ROMs, magneto-optical disks, ROMs, RAMs, flash memory devices, or any type of medium or device suitable for storing instructions, codes, and / or data.
[0073] According to different embodiments, each functional unit and module of the server may also be implemented in a distributed computing environment and / or a cloud computing environment, wherein all or part of the machine instructions are executed in a distributed manner by one or more processing devices interconnected via a communication network (such as an intranet, a wide area network, a local area network, the Internet, and other forms of data transmission media).
Claims
1. A method for redirecting calls on multiple cellular networks, comprising the following steps: receiving a mobile called request sent to a second telephone number of a second cellular network; sending the request to a server; The server is connected to the second cellular network and the first cellular network simultaneously; identifying, by the server, a first telephone number associated with the second telephone number; wherein the first telephone number belongs to the first cellular network; In response to identifying the first telephone number, modifying the request to replace information associated with the second telephone number with information associated with the first telephone number; as well as The modified request is forwarded to a mobile phone registered with the first telephone number in the first cellular network.
2. The method according to claim 1, wherein the second telephone number is registered in the second cellular network, and the server is equivalent to a virtual mobile phone.
3. The method according to claim 2, wherein in the HSS of the second cellular network, the server address of the server is registered as the S-CSCF address of the second telephone number.
4. The method of claim 3, wherein the step of sending the request to the server further comprises: The I-CSCF in the second cellular network queries the HSS for the server address according to the second telephone number; The I-CSCF sends the request to the server via the server address.
5. The method according to claim 1, wherein the server further comprises a database and a cache; the cache contains the contract record obtained from the database; the step of identifying the first telephone number by the server further comprises querying the cache using the second telephone number.
6. The method according to claim 1, wherein the server further comprises a message gateway; and the step of sending the request to the server further comprises directing the request to the message gateway.
7. The method according to claim 6, wherein the step of modifying the request further comprises modifying the request by the information gateway; and the step of forwarding the modified request further comprises forwarding the modified request by the information gateway to the first cellular network.
8. The method of claim 1, wherein the request is a SIP INVITE message.
9. A method for virtually registering a second telephone number for a mobile phone having a first telephone number, comprising the following steps: sending a first registration request to a server from a first cellular network to which the first telephone number belongs; Determining, by the server, that the first registration request is valid; In response to the first registration request being valid, the server sends a second registration request to a second cellular network to which the second telephone number belongs; as well as The second telephone number is registered in the second cellular network, and the server is equivalent to a virtual mobile phone in the second cellular network.
10. The method of claim 9, wherein the first request includes the first telephone number and the second telephone number.
11. The method according to claim 10, wherein the server comprises a database; and the step of determining that the first registration request is valid further comprises one or more of the following steps: checking whether there is an existing record in the database corresponding to the first telephone number; and Check whether there is an existing record corresponding to the second telephone number in the database.
12. The method of claim 10, wherein the step of sending the second registration request further comprises sending the second registration request to an HSS of the second cellular network.
13. The method according to claim 12, wherein the step of registering the second telephone number further comprises registering a server address of the server as an S-CSCF address of the second telephone number in the HSS.
14. A system for redirecting calls on multiple cellular networks, comprising a server adapted to simultaneously connect to a first cellular network and a second cellular network; the server comprising one or more processors; and a memory storing computer executable instructions that, when executed, cause the one or more processors to perform the following operations: receiving a mobile called request sent to a second telephone number of the second cellular network; identifying a first telephone number associated with the second telephone number, the first telephone number belonging to the first cellular network; In response to identifying the first telephone number, modifying the request to replace information associated with the second telephone number with information associated with the first telephone number; as well as The modified request is forwarded to a mobile phone registered with the first telephone number in the first cellular network.
15. A system for virtually registering a second telephone number of a mobile phone with a first telephone number, the system comprising a server, the server being simultaneously connectable to a first cellular network and a second cellular network, the server comprising one or more processors; and a memory storing computer executable instructions that, when executed, cause one or more processors to: receiving a first registration request from the first cellular network to which the first mobile phone number belongs; Determining that the first registration request is valid; and In response to the first registration request being valid, a second registration request is sent to the second cellular network to which the second mobile phone number belongs.
16. A system for virtually registering a second telephone number of a mobile phone with a first telephone number, comprising a server: the server is connectable to a first cellular network and a second cellular network; The server comprises: an information gateway configured to communicate with each of the first cellular network and the second cellular network; A database connected to the information gateway; a contract manager connected to the database; and a virtual registration controller connected to the subscription manager; Wherein, the contract manager is configured as follows: receiving a first registration request from a first cellular network to which the first telephone number belongs; verifying the first registration request; In response to the first registration request being valid, writing a subscription record into the database; and Prompting sending a second registration request to the second cellular network; wherein the subscription record contains association information of the first telephone number and the second telephone number.
17. The system of claim 17, wherein the message gateway is configured to communicate with session border controllers of the first cellular network and the second cellular network.
18. The system of claim 17, further comprising an API gateway configured to receive the first registration request from the first cellular network.
19. The system according to claim 17 further includes a cache connected to the message gateway, and a cache manager connected to the cache and the database; the cache manager is configured to write the contract record to the cache in response to the contract record being written to the database.
20. The system of claim 17, wherein the subscription manager is further configured to create a second request event to the virtual registration controller when writing the subscription record to the database; the virtual registration controller is further configured to send the second registration request to the second cellular network in response to receiving the second request event from the subscription manager.