Message sending method and device, computer device and storage medium
Patent Information
- Application Number
- CN202611319913.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-28
- Publication Date
- 2026-10-30
AI Technical Summary
当终端收到网络侧下发的DC相关消息时,需要将该消息准确路由至本次通话归属运营商对应的SDK;若消息分发对象出现偏差,将引发不良用户体验,典型表现包括终端界面同时弹出多个5G增强通话操作入口,运营商SDK展示非本运营商DC业务应用但无法使用等现象,无法区分不同运营商的SDK,进而无法将DC消息发送至对应的运营商SDK
[0046]上述消息发送方法、装置、计算机设备和存储介质,响应于部署于终端内的运营商SDK发送的携带有关联运营商列表的绑定请求,创建专属通信通道,并建立专属通信通道与关联运营商列表之间的关联关系。向运营商SDK发送专属通信通道的通道关联信息,以使运营商SDK基于专属通信通道反馈通话关联信息;其中,通话关联信息中包含回调接口。基于通话关联信息,对运营商SDK进行身份校验。在身份校验通过的情况下,基于回调接口,向运营商SDK发送DC消息。本申请通过在DC服务接收到运营商SDK绑定请求时建立专属通信通道,并将专属通信通道与SDK对应的运营商列表进行关联,后续依据SDK上报的通话关联信息完成身份校验,仅向校验通过的运营商SDK下发DC消息;相较于现有技术,能够在异运营商双卡终端多SDK共存场景下实现DC消息精准路由,有效避免DC消息错发导致的多业务弹窗、展示无效跨运营商DC应用等问题,解决了异运营商双卡场景下无法区分各运营商SDK、DC消息分发错乱的技术痛点,完善了异运营商双卡终端的5G增强通话业务适配能力。
Smart Images

Figure CN123021082A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wireless communication technology, specifically to a message sending method, apparatus, computer device, and storage medium. Background Technology
[0002] Currently, various domestic telecom operators have launched their own 5G enhanced voice service SDKs (Software Development Kits) for terminal adaptation. Terminal manufacturers can provide DC services to users on their terminal devices by integrating the corresponding operator's SDK. At present, the terminal adaptation work carried out in the industry mainly covers the 5G enhanced voice service process in single-SIM terminal scenarios and dual-SIM terminal scenarios belonging to the same operator. Standardized adaptation solutions for dual-SIM scenarios belonging to different operators (cross-operator dual-SIM) have not yet been promoted, and effective mechanisms have not yet been formed to address the various technical difficulties faced by the coexistence of multiple operator SDKs in related scenarios.
[0003] In dual-SIM terminals from different operators, the terminal system may simultaneously deploy multiple 5G enhanced calling SDKs provided by different operators. When the terminal receives a DC-related message from the network side, it needs to accurately route the message to the SDK corresponding to the operator to which the call belongs. If the message distribution target is incorrect, it will lead to a poor user experience. Typical manifestations include multiple 5G enhanced calling operation entries popping up on the terminal interface at the same time, and the operator SDK displaying DC service applications that are not from its own operator but cannot be used. It is impossible to distinguish between SDKs from different operators, and therefore, DC messages cannot be sent to the corresponding operator SDK. Summary of the Invention
[0004] Therefore, it is necessary to provide a message sending method, apparatus, computer equipment, and storage medium that can accurately send messages to the home operator's SDK in response to the above-mentioned technical problems.
[0005] Firstly, this application provides a message sending method applied to a DC service deployed within a terminal, the method comprising:
[0006] In response to a binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, a dedicated communication channel is created, and the association between the dedicated communication channel and the list of associated operators is established.
[0007] Send the channel association information of the dedicated communication channel to the operator SDK so that the operator SDK can return call association information based on the dedicated communication channel; the call association information includes a callback interface.
[0008] Based on call association information, the identity of the operator's SDK is verified;
[0009] If the identity verification is successful, a DC message is sent to the operator's SDK based on the callback interface.
[0010] In one embodiment, the binding request is sent when the operator SDK is initiated by the terminal call management system service.
[0011] In one embodiment, the operator SDK is determined by the terminal call management system service based on the SIM information upon receiving a call initiation request.
[0012] In one embodiment, the call association information further includes at least one of a first card slot identifier and a first call identifier.
[0013] In one embodiment, the method further includes:
[0014] Upon receiving a call initiation request, initial call SIM card data is established; the initial call SIM card data includes a second SIM card slot identifier, a second call identifier, and an associated operator identifier.
[0015] In one embodiment, identity verification of the operator SDK is performed based on call association information, including:
[0016] Upon receiving call association information, a list of associated carriers is obtained based on a dedicated communication channel;
[0017] Based on the list of associated operators, call association information, and initial call card data, the identity of the operator SDK is verified.
[0018] In one embodiment, identity verification of the carrier SDK is performed based on the associated carrier list, call association information, and initial call SIM card data, including:
[0019] The first card slot identifier and the first call identifier in the call association information are matched with the second card slot identifier and the second call identifier in the initial call card data to obtain the first result;
[0020] The associated operator identifier and the associated operator list in the initial call data are matched to obtain the second result;
[0021] Based on the first and second results, the identity of the operator's SDK is verified.
[0022] In one embodiment, the callback interface includes a callback function; based on the callback interface, sending a DC message to the operator SDK includes:
[0023] Generate the target card data for the call based on the callback function and the initial card data for the call;
[0024] Based on the target SIM card data, initiate a bootstrap data channel establishment request to the IMS network;
[0025] Upon receiving a successful response from the IMS network regarding the establishment of the bootstrap data channel, a DC message is sent to the operator's SDK based on the callback interface.
[0026] Secondly, this application provides a message sending device deployed in a DC service within a terminal, the device comprising:
[0027] The module is created to respond to a binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, to create a dedicated communication channel and establish the association between the dedicated communication channel and the list of associated operators.
[0028] The first sending module is used to send channel association information of the dedicated communication channel to the operator SDK, so that the operator SDK can feed back call association information based on the dedicated communication channel; wherein, the call association information includes a callback interface;
[0029] The identity verification module is used to verify the identity of the operator's SDK based on call association information;
[0030] The second sending module is used to send DC messages to the operator SDK based on the callback interface after the identity verification is successful.
[0031] Thirdly, this application also provides a computer device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0032] In response to a binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, a dedicated communication channel is created, and the association between the dedicated communication channel and the list of associated operators is established.
[0033] Send the channel association information of the dedicated communication channel to the operator SDK so that the operator SDK can return call association information based on the dedicated communication channel; the call association information includes a callback interface.
[0034] Based on call association information, the identity of the operator's SDK is verified;
[0035] If the identity verification is successful, a DC message is sent to the operator's SDK based on the callback interface.
[0036] Fourthly, this application also provides a computer-readable storage medium on which a computer program is stored, and which, when executed by a processor, performs the following steps:
[0037] In response to a binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, a dedicated communication channel is created, and the association between the dedicated communication channel and the list of associated operators is established.
[0038] Send the channel association information of the dedicated communication channel to the operator SDK so that the operator SDK can return call association information based on the dedicated communication channel; the call association information includes a callback interface.
[0039] Based on call association information, the identity of the operator's SDK is verified;
[0040] If the identity verification is successful, a DC message is sent to the operator's SDK based on the callback interface.
[0041] Fifthly, this application also provides a computer program product comprising a computer program that, when executed by a processor, performs the following steps:
[0042] In response to a binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, a dedicated communication channel is created, and the association between the dedicated communication channel and the list of associated operators is established.
[0043] Send the channel association information of the dedicated communication channel to the operator SDK so that the operator SDK can return call association information based on the dedicated communication channel; the call association information includes a callback interface.
[0044] Based on call association information, the identity of the operator's SDK is verified;
[0045] If the identity verification is successful, a DC message is sent to the operator's SDK based on the callback interface.
[0046] The aforementioned message sending method, apparatus, computer equipment, and storage medium, in response to a binding request carrying an associated operator list sent by an operator SDK deployed within the terminal, create a dedicated communication channel and establish an association between the dedicated communication channel and the associated operator list. Channel association information for the dedicated communication channel is sent to the operator SDK, enabling the operator SDK to provide call association information based on the dedicated communication channel; this call association information includes a callback interface. Based on the call association information, the operator SDK's identity is verified. If the identity verification is successful, a DC message is sent to the operator SDK based on the callback interface. This application establishes a dedicated communication channel when the DC service receives a carrier SDK binding request, and associates the dedicated communication channel with the carrier list corresponding to the SDK. Subsequently, it completes identity verification based on the call association information reported by the SDK, and only sends DC messages to the carrier SDK that passes the verification. Compared with the existing technology, it can achieve accurate DC message routing in the scenario of multiple SDKs coexisting in dual-SIM terminals of different carriers, effectively avoiding problems such as multi-service pop-ups and displaying invalid cross-carrier DC applications caused by incorrect DC message transmission. It solves the technical pain points of not being able to distinguish between the SDKs of different carriers and the disordered distribution of DC messages in the scenario of dual-SIM terminals of different carriers, and improves the 5G enhanced call service adaptation capability of dual-SIM terminals of different carriers. Attached Figure Description
[0047] Figure 1 This is an application environment diagram of a message sending method provided in this embodiment;
[0048] Figure 2 This is a flowchart illustrating the first message sending method provided in this embodiment;
[0049] Figure 3 This is a schematic diagram of the process for verifying the identity of the operator's SDK provided in this embodiment;
[0050] Figure 4 This is a schematic diagram illustrating the process of sending DC messages to the operator SDK provided in this embodiment;
[0051] Figure 5 This is a flowchart illustrating the second message sending method provided in this embodiment;
[0052] Figure 6 This is a structural block diagram of a message sending device provided in this embodiment;
[0053] Figure 7 This is an internal structural diagram of the computer device provided in this embodiment. Detailed Implementation
[0054] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0055] The message sending method provided in this application embodiment can be applied to, for example... Figure 1 In the application environment shown, the DC service deployed on the terminal responds to a binding request sent by the operator SDK deployed on the terminal, which carries a list of associated operators. It creates a dedicated communication channel and establishes an association between the dedicated communication channel and the list of associated operators. The DC service sends the channel association information of the dedicated communication channel to the operator SDK, enabling the operator SDK to provide call association information based on the dedicated communication channel; wherein the call association information includes a callback interface. The DC service verifies the identity of the operator SDK based on the call association information. If the identity verification is successful, the DC service sends a DC message to the operator SDK based on the callback interface.
[0056] Among them, DC (Data Channel) service (also known as DCService) refers to the system service component deployed inside the terminal, which is the unified management and control center for DC data channel services on the terminal side.
[0057] The operator SDK (Software Development Kit) refers to the software development kit developed by the telecommunications operator and pre-installed in the terminal.
[0058] In one embodiment, Figure 2 This is a flowchart illustrating a message sending method according to an embodiment of this application, applied to... Figure 1 Taking the DC service in the example, the method includes the following steps:
[0059] S201, in response to a binding request sent by the operator SDK deployed in the terminal, carrying a list of associated operators, a dedicated communication channel is created, and the association between the dedicated communication channel and the list of associated operators is established.
[0060] The associated operator list (mccMncList) refers to the list of operators associated with this operator's SDK. The associated operator list records the identifiers of all associated operators linked to this operator's SDK (e.g., XX operator mccMncList:["460-03","460-05", "460-11", "460-12"]). If multiple operators share this operator's SDK, the terminal needs to add all operator identifiers (mccMnc) to mccMncList; if all operators share a single SDK, the terminal needs to fill in mccMncList:["ALL"], indicating that all operators in the associated operator list share this operator's SDK. The dedicated communication channel refers to a dedicated channel created specifically for this call, used for communication between this operator's SDK and the DC service.
[0061] Optionally, in this embodiment, the binding request is sent when the operator SDK is started under the control of the terminal call management system service.
[0062] Optionally, in this embodiment, the operator SDK is determined by the terminal call management system service upon receiving a call initiation request (i.e., in the case of an incoming or outgoing call), based on the SIM (Subscriber Identity Module) information. The terminal call management system service is a system service module running within the terminal system, responsible for monitoring incoming and outgoing call events. When a call is established, it matches and launches the corresponding operator SDK based on the operator identifier corresponding to the SIM card used in the call. It should be noted that in a dual-SIM scenario, both operator SDKs need to be launched simultaneously.
[0063] Optionally, in this embodiment, the dedicated communication channel can be a Binder. This Binder is a server-side Binder. An association is established between the server-side Binder and the list of managed operators. After the association is established, channel association information is sent to the operator SDK. Binder is a lightweight inter-process communication mechanism used to pass objects and call methods between different processes.
[0064] Optionally, in this embodiment, after the operator SDK is launched by the terminal call management system service, it constructs an Intent based on the associated operator list and sends a binding request carrying the Intent to the DC service. An Intent is a message carrier for inter-component communication provided by the Android operating system, used to initiate service binding, start components, and perform other operations. It can carry various additional parameters to achieve information transfer between processes / components.
[0065] S202, send the channel association information of the dedicated communication channel to the operator SDK so that the operator SDK can feed back call association information based on the dedicated communication channel.
[0066] The channel association information can be the Binder proxy object corresponding to the binder. Subsequently, the operator SDK can send call association information to the DC service by calling the `setlmsDataChannelCallback` function corresponding to the Binder proxy object. The call association information includes a callback interface, which contains a callback function, `onBootstrapDataChannelResponse`. The call association information refers to the association information for this call obtained by the operator SDK. The callback interface is a predefined interface type implemented by the operator SDK; the operator SDK sends this callback interface instance along with the call association information to the DC service to complete registration. The callback interface internally contains the `onBootstrapDataChannelResponse` callback function. After the DC service completes the operator SDK identity verification and saves the callback interface, if it receives a network event related to the DC service, the DC service can call the callback method within the callback interface to send a DC message to the operator SDK.
[0067] Optionally, in this embodiment, the operator's SDK will obtain a unique SIM card slot identifier and a unique call identifier corresponding to this call. The call association information includes at least one of the first SIM card slot identifier (i.e., slotID) and the first call identifier (i.e., telecomcallId).
[0068] S203 verifies the identity of the operator's SDK based on call association information.
[0069] One optional implementation involves obtaining the carrier identifier for the current call based on call association information. This carrier identifier is then matched against locally detected carrier identifiers. Based on the matching result, the carrier SDK undergoes identity verification. For example, if the match is successful, the identity verification passes; otherwise, if the match fails, the identity verification fails.
[0070] Another optional implementation involves the operator's SDK adding a call session timestamp to the call association information. The DC service combines the first SIM card slot identifier and the first call identifier to retrieve the initial SIM card data for the call, while simultaneously comparing whether the timestamp matches the call establishment time, and then performing a check on the inclusion relationship between mccMnc and mccMncList. Only when the session identifier, SIM card slot, timestamp, and operator identifier all match is the SDK's identity deemed legitimate.
[0071] S204: If the identity verification is successful, a DC message is sent to the operator's SDK based on the callback interface.
[0072] One possible implementation is that after receiving the DC message pushed by the IMS network, the DC service immediately calls the onBootstrapDataChannelResponse function in the saved callback interface corresponding to the operator SDK that has passed verification, and directly passes the DC message to the operator SDK.
[0073] Another alternative implementation is that after receiving a DC message from IMS, the DC service does not immediately call the callback interface to push the message. Instead, it first associates the DC message with the corresponding call identifier and callback interface and stores it in a local message cache queue. The DC service then reads the queue data sequentially according to a preset scheduling time and calls the corresponding callback interface to complete the message delivery. This method can smooth out instantaneous message concurrency peaks and prevent excessive load on the operator's SDK process caused by a large number of DC messages being pushed simultaneously in a short period of time.
[0074] Another optional implementation involves the DC service sending a DC message to the operator's SDK via a callback interface, followed by a timeout period. If no message reception confirmation response is received from the operator's SDK within a preset time limit, the callback interface is called again to resend the DC message. Upon successful receipt of the confirmation message, the record of messages to be retransmitted is cleared. This method resolves the occasional packet loss issue in cross-process communication, ensuring that DC messages are reliably delivered to the operator's SDK.
[0075] The above message sending method, in response to a binding request carrying a list of associated operators sent by the operator SDK deployed on the terminal, creates a dedicated communication channel and establishes an association between the dedicated communication channel and the list of associated operators. Channel association information for the dedicated communication channel is sent to the operator SDK so that the operator SDK can respond with call association information based on the dedicated communication channel; the call association information includes a callback interface. Based on the call association information, the operator SDK's identity is verified. If the identity verification is successful, a DC message is sent to the operator SDK based on the callback interface. This application establishes a dedicated communication channel when the DC service receives a carrier SDK binding request, and associates the dedicated communication channel with the carrier list corresponding to the SDK. Subsequently, it completes identity verification based on the call association information reported by the SDK, and only sends DC messages to the carrier SDK that passes the verification. Compared with the existing technology, it can achieve accurate DC message routing in the scenario of multiple SDKs coexisting in dual-SIM terminals of different carriers, effectively avoiding problems such as multi-service pop-ups and displaying invalid cross-carrier DC applications caused by incorrect DC message transmission. It solves the technical pain points of not being able to distinguish between the SDKs of different carriers and the disordered distribution of DC messages in the scenario of dual-SIM terminals of different carriers, and improves the 5G enhanced call service adaptation capability of dual-SIM terminals of different carriers.
[0076] In one embodiment, to improve the accuracy of operator SDK identity verification, such as Figure 3 As shown, the optional implementation methods for identity verification of the operator SDK based on call association information include:
[0077] S301, upon receiving call association information, retrieves a list of associated operators based on a dedicated communication channel.
[0078] Optionally, in this embodiment, upon receiving call association information, the DC service obtains the dedicated communication channel for receiving that information. Since a pre-established association between the communication channel and the associated operator list is created, the associated operator list can be obtained based on the dedicated communication channel and the association.
[0079] Optionally, in this embodiment, before responding to the binding request carrying the associated operator list sent by the operator SDK deployed in the terminal, one possible implementation of the message sending method is to establish initial call card data upon receiving a call initiation request; wherein, the initial call card data includes a second card slot identifier, a second call identifier, and an associated operator identifier. Specifically, the DC service creates initial call card data for the current call upon receiving an incoming or outgoing call. The initial call card data includes slotID, telecomcallId, and mccMnc, i.e., the second card slot identifier, the second call identifier, and the associated operator identifier.
[0080] S302 verifies the identity of the operator SDK based on the list of associated operators, call association information, and initial call card data.
[0081] One optional implementation involves first verifying whether the carrier identifier in the initial call SIM card data exists in the associated carrier list. If the carrier identifier does not match, the verification fails directly. If the carrier identifier verification passes, the call association information is then compared with the slot identifier and call identifier in the initial call SIM card data to complete the final verification. This method can quickly intercept invalid requests with mismatched carriers, reduce session identifier comparison operations, and lower computational overhead.
[0082] Another optional implementation involves matching the first SIM slot identifier and the first call identifier in the call association information with the second SIM slot identifier and the second call identifier in the initial call SIM card data to obtain a first result. Then, the associated operator identifier and the associated operator list in the initial call SIM card data are matched to obtain a second result. Based on the first and second results, the operator SDK's identity is verified. In this embodiment, an optional implementation of matching the associated operator identifier and the associated operator list in the initial call SIM card data to obtain the second result is to determine whether the associated operator identifier in the initial call SIM card data is an operator identifier in the associated operator list. If it is, the match is considered successful; otherwise, the match is considered unsuccessful. In this embodiment, identity verification is only considered successful if both the first and second results are successful.
[0083] In this embodiment, the system first compares the slot identifier and call identifier carried in the call association information with the corresponding identifier information in the call initial card data. Then, it verifies whether the operator identifier in the call initial card data exists in the list of associated operators bound to the dedicated communication channel. The operator SDK identity verification is completed by combining the two matching results. Through the dual-layer verification mechanism of session identifier and operator identifier, it accurately identifies whether the current SDK is the SDK corresponding to the call's owner operator. This effectively avoids the problem of DC message misdistribution in the scenario of dual SIM cards and multiple SDKs coexisting in different operators, improves the accuracy and reliability of identity verification, and ensures that DC messages can be routed to the target SDK.
[0084] Based on the above embodiments, in order to achieve normal transmission of DC messages, such as Figure 4 As shown, optional implementations for sending DC messages to the operator SDK based on the callback interface include:
[0085] S401 generates call target card data based on the callback function and the initial call card data.
[0086] S402, based on the target SIM card data, initiates a bootstrap data channel establishment request to the IMS network.
[0087] Optionally, in this embodiment, a boot data channel establishment request is generated based on the target card data, and a boot data channel establishment request is initiated to the IMS network.
[0088] S403, upon receiving a successful response from the IMS network regarding the establishment of the bootstrap data channel, sends a DC message to the operator SDK based on the callback interface.
[0089] Optionally, in this embodiment, upon receiving a successful response from the IMS network indicating the establishment of the bootstrap data channel, data indicating successful creation of the bootstrap data channel is sent to the operator SDK. Subsequently, a DC message can be sent to the operator SDK based on the callback interface. For example, after receiving the DC message pushed by the IMS network, the DC service immediately calls the `onBootstrapDataChannelResponse` function within the saved, verified callback interface corresponding to the operator SDK, directly transmitting the DC message to the operator SDK. For example, after receiving the DC message from IMS, the DC service does not immediately call the callback interface to push the message; instead, it first associates the DC message with the corresponding call identifier and callback interface and stores it in a local message cache queue. The DC service reads the queue data sequentially according to a preset scheduling timing and calls the corresponding callback interface to complete the message delivery. For example, after the DC service calls the callback interface to send the DC message to the operator SDK, a timeout is started; if no message reception confirmation response is received from the operator SDK within the preset time limit, the callback interface is called again to resend the DC message; after successfully receiving the confirmation message, the pending retransmission record is cleared.
[0090] In this embodiment, the valid callback interface is integrated with the initial call card data to generate the target call card data. Based on the target call card data, a data channel establishment request is initiated to the IMS network. After the channel is successfully created, a DC message is sent to the operator SDK through the corresponding callback interface. The target call card data is used to complete the association and binding of the call session, the home operator SDK callback interface, and the data channel service. This ensures that the channel creation and message sending process is only executed for the home operator of the call. In the scenario of dual SIM cards and multiple SDKs coexisting in different operators, the service link is isolated, effectively avoiding problems such as incorrect DC message sending and pop-up non-target operator service interfaces, and improving the accuracy and stability of 5G enhanced call DC service operation.
[0091] In one embodiment, such as Figure 5 As shown, an optional implementation of a message sending method includes:
[0092] S501, the operator SDK generates a binding request based on the associated operator list. This binding request is sent when the operator SDK is initiated by the terminal call management system service; the operator SDK is determined by the terminal call management system service based on the SIM information upon receiving a call initiation request.
[0093] S502, upon receiving a call initiation request, the DC service establishes initial call SIM card data. This initial call SIM card data includes a second SIM card slot identifier, a second call identifier, and an associated operator identifier.
[0094] S503, the operator SDK sends a binding request to the DC service.
[0095] S504, the DC service responds to the binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, creates a dedicated communication channel, and establishes the association between the dedicated communication channel and the list of associated operators.
[0096] S505, DC service sends channel association information of dedicated communication channel to operator SDK.
[0097] S506, the operator SDK feeds back call association information based on a dedicated communication channel. This call association information includes at least one of a callback interface, a first SIM card slot identifier, and a first call identifier; the callback interface includes a callback function.
[0098] S507: Upon receiving call association information, the DC service obtains a list of associated operators based on a dedicated communication channel.
[0099] S508, the DC service matches the first card slot identifier and the first call identifier in the call association information with the second card slot identifier and the second call identifier in the call initial card data to obtain the first result.
[0100] S509, the DC service matches the associated operator identifier and the associated operator list in the initial call card data to obtain the second result.
[0101] S510, DC service verifies the identity of operator SDK based on the first and second results.
[0102] S511, if the identity verification is successful, the DC service generates the target card data for the call based on the callback function and the initial card data for the call.
[0103] S512, DC service initiates a bootstrap data channel establishment request to the IMS network based on the call target card data.
[0104] S513: Upon receiving a successful response from the IMS network indicating the establishment of the bootstrap data channel, the DC service sends data indicating successful bootstrap data channel creation to the operator SDK.
[0105] S514, the DC service sends DC messages to the operator SDK based on the callback interface.
[0106] The message sending method in this embodiment, in response to a binding request carrying a list of associated operators sent by an operator SDK deployed in the terminal, creates a dedicated communication channel and establishes an association between the dedicated communication channel and the list of associated operators. Channel association information for the dedicated communication channel is sent to the operator SDK, enabling the operator SDK to provide call association information based on the dedicated communication channel; the call association information includes a callback interface. Based on the call association information, the operator SDK's identity is verified. If the identity verification is successful, a DC message is sent to the operator SDK based on the callback interface. This application establishes a dedicated communication channel when the DC service receives a carrier SDK binding request, and associates the dedicated communication channel with the carrier list corresponding to the SDK. Subsequently, it completes identity verification based on the call association information reported by the SDK, and only sends DC messages to the carrier SDK that passes the verification. Compared with the existing technology, it can achieve accurate DC message routing in the scenario of multiple SDKs coexisting in dual-SIM terminals of different carriers, effectively avoiding problems such as multi-service pop-ups and displaying invalid cross-carrier DC applications caused by incorrect DC message transmission. It solves the technical pain points of not being able to distinguish between the SDKs of different carriers and the disordered distribution of DC messages in the scenario of dual-SIM terminals of different carriers, and improves the 5G enhanced call service adaptation capability of dual-SIM terminals of different carriers.
[0107] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0108] Based on the same inventive concept, this application also provides a message sending apparatus for implementing the message sending method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more message sending apparatus embodiments provided below can be found in the limitations of the message sending method described above, and will not be repeated here.
[0109] In one embodiment, by Figure 6 A structural block diagram of a message sending device in one embodiment is shown. Figure 6As shown, a message sending device 1 is provided, which includes: a creation module 10, a first sending module 20, an identity verification module 30, and a second sending module 40, wherein:
[0110] Create module 10 to respond to a binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, create a dedicated communication channel, and establish the association between the dedicated communication channel and the list of associated operators;
[0111] The first sending module 20 is used to send channel association information of the dedicated communication channel to the operator SDK, so that the operator SDK can feed back call association information based on the dedicated communication channel; wherein, the call association information includes a callback interface;
[0112] The identity verification module 30 is used to verify the identity of the operator SDK based on call association information;
[0113] The second sending module 40 is used to send a DC message to the operator SDK based on the callback interface when the identity verification is successful.
[0114] In one embodiment, the binding request is sent when the operator SDK is initiated by the terminal call management system service.
[0115] In one embodiment, the operator SDK is determined by the terminal call management system service based on the SIM information upon receiving a call initiation request.
[0116] In one embodiment, the call association information further includes at least one of a first card slot identifier and a first call identifier.
[0117] In one embodiment, a message sending device 1 further includes:
[0118] The module is used to establish initial call data upon receiving a call initiation request; the initial call data includes a second card slot identifier, a second call identifier, and an associated operator identifier.
[0119] In one embodiment, the identity verification module is further specifically used for:
[0120] Upon receiving call association information, a list of associated carriers is obtained based on a dedicated communication channel;
[0121] Based on the list of associated operators, call association information, and initial call card data, the identity of the operator SDK is verified.
[0122] In one embodiment, the identity verification module is further specifically used for:
[0123] The first card slot identifier and the first call identifier in the call association information are matched with the second card slot identifier and the second call identifier in the initial call card data to obtain the first result;
[0124] The associated operator identifier and the associated operator list in the initial call data are matched to obtain the second result;
[0125] Based on the first and second results, the identity of the operator's SDK is verified.
[0126] In one embodiment, the callback interface includes a callback function; the second sending module is further specifically used for:
[0127] Generate the target card data for the call based on the callback function and the initial card data for the call;
[0128] Based on the target SIM card data, initiate a bootstrap data channel establishment request to the IMS network;
[0129] Upon receiving a successful response from the IMS network regarding the establishment of the bootstrap data channel, a DC message is sent to the operator's SDK based on the callback interface.
[0130] Each module in the aforementioned message sending device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0131] In one embodiment, a computer device is provided, which may be a platform-side device, and its internal structure diagram may be as follows: Figure 7 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database stores message transmission information. The network interface communicates with an external user via a network connection. When the computer program is executed by the processor, it implements a message transmission method.
[0132] Those skilled in the art will understand that Figure 7The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specifically, the computer device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0133] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0134] In response to a binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, a dedicated communication channel is created, and the association between the dedicated communication channel and the list of associated operators is established.
[0135] Send the channel association information of the dedicated communication channel to the operator SDK so that the operator SDK can return call association information based on the dedicated communication channel; the call association information includes a callback interface.
[0136] Based on call association information, the identity of the operator's SDK is verified;
[0137] If the identity verification is successful, a DC message is sent to the operator's SDK based on the callback interface.
[0138] In one embodiment, the processor, when executing the computer program, also performs the following steps: the binding request is sent when the operator SDK is initiated by the terminal call management system service.
[0139] In one embodiment, when the processor executes the computer program, it also performs the following steps: the operator SDK is determined by the terminal call management system service based on the SIM information upon receiving a call initiation request.
[0140] In one embodiment, when the processor executes the computer program, it further implements the following steps: the call association information also includes at least one of a first card slot identifier and a first call identifier.
[0141] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0142] Upon receiving a call initiation request, initial call SIM card data is established; the initial call SIM card data includes a second SIM card slot identifier, a second call identifier, and an associated operator identifier.
[0143] In one embodiment, when the processor executes the computer program, it further performs the following steps: verifying the identity of the operator SDK based on call association information, including:
[0144] Upon receiving call association information, a list of associated carriers is obtained based on a dedicated communication channel;
[0145] Based on the list of associated operators, call association information, and initial call card data, the identity of the operator SDK is verified.
[0146] In one embodiment, when the processor executes the computer program, it further performs the following steps: verifying the identity of the carrier SDK based on the associated carrier list, call association information, and initial call card data, including:
[0147] The first card slot identifier and the first call identifier in the call association information are matched with the second card slot identifier and the second call identifier in the initial call card data to obtain the first result;
[0148] The associated operator identifier and the associated operator list in the initial call data are matched to obtain the second result;
[0149] Based on the first and second results, the identity of the operator's SDK is verified.
[0150] In one embodiment, when the processor executes the computer program, it further implements the following steps: the callback interface includes a callback function; based on the callback interface, a DC message is sent to the operator SDK, including:
[0151] Generate the target card data for the call based on the callback function and the initial card data for the call;
[0152] Based on the target SIM card data, initiate a bootstrap data channel establishment request to the IMS network;
[0153] Upon receiving a successful response from the IMS network regarding the establishment of the bootstrap data channel, a DC message is sent to the operator's SDK based on the callback interface.
[0154] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0155] In response to a binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, a dedicated communication channel is created, and the association between the dedicated communication channel and the list of associated operators is established.
[0156] Send the channel association information of the dedicated communication channel to the operator SDK so that the operator SDK can return call association information based on the dedicated communication channel; the call association information includes a callback interface.
[0157] Based on call association information, the identity of the operator's SDK is verified;
[0158] If the identity verification is successful, a DC message is sent to the operator's SDK based on the callback interface.
[0159] In one embodiment, when the computer program is executed by the processor, it also performs the following steps: the binding request is sent when the operator SDK is initiated by the terminal call management system service.
[0160] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: the operator SDK is determined by the terminal call management system service based on the SIM information upon receiving a call initiation request.
[0161] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: the call association information also includes at least one of a first card slot identifier and a first call identifier.
[0162] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0163] Upon receiving a call initiation request, initial call SIM card data is established; the initial call SIM card data includes a second SIM card slot identifier, a second call identifier, and an associated operator identifier.
[0164] In one embodiment, when the computer program is executed by a processor, it further implements the following steps: verifying the identity of the operator's SDK based on call association information, including:
[0165] Upon receiving call association information, a list of associated carriers is obtained based on a dedicated communication channel;
[0166] Based on the list of associated operators, call association information, and initial call card data, the identity of the operator SDK is verified.
[0167] In one embodiment, when the computer program is executed by a processor, it further performs the following steps: verifying the identity of the operator SDK based on the associated operator list, call association information, and initial call SIM card data, including:
[0168] The first card slot identifier and the first call identifier in the call association information are matched with the second card slot identifier and the second call identifier in the initial call card data to obtain the first result;
[0169] The associated operator identifier and the associated operator list in the initial call data are matched to obtain the second result;
[0170] Based on the first and second results, the identity of the operator's SDK is verified.
[0171] In one embodiment, when the computer program is executed by a processor, it further implements the following steps: the callback interface includes a callback function; based on the callback interface, a DC message is sent to the operator SDK, including:
[0172] Generate the target card data for the call based on the callback function and the initial card data for the call;
[0173] Based on the target SIM card data, initiate a bootstrap data channel establishment request to the IMS network;
[0174] Upon receiving a successful response from the IMS network regarding the establishment of the bootstrap data channel, a DC message is sent to the operator's SDK based on the callback interface.
[0175] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:
[0176] In response to a binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, a dedicated communication channel is created, and the association between the dedicated communication channel and the list of associated operators is established.
[0177] Send the channel association information of the dedicated communication channel to the operator SDK so that the operator SDK can return call association information based on the dedicated communication channel; the call association information includes a callback interface.
[0178] Based on call association information, the identity of the operator's SDK is verified;
[0179] If the identity verification is successful, a DC message is sent to the operator's SDK based on the callback interface.
[0180] In one embodiment, when the computer program is executed by the processor, it also performs the following steps: the binding request is sent when the operator SDK is initiated by the terminal call management system service.
[0181] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: the operator SDK is determined by the terminal call management system service based on the SIM information upon receiving a call initiation request.
[0182] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: the call association information also includes at least one of a first card slot identifier and a first call identifier.
[0183] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0184] Upon receiving a call initiation request, initial call SIM card data is established; the initial call SIM card data includes a second SIM card slot identifier, a second call identifier, and an associated operator identifier.
[0185] In one embodiment, when the computer program is executed by a processor, it further implements the following steps: verifying the identity of the operator's SDK based on call association information, including:
[0186] Upon receiving call association information, a list of associated carriers is obtained based on a dedicated communication channel;
[0187] Based on the list of associated operators, call association information, and initial call card data, the identity of the operator SDK is verified.
[0188] In one embodiment, when the computer program is executed by a processor, it further performs the following steps: verifying the identity of the operator SDK based on the associated operator list, call association information, and initial call SIM card data, including:
[0189] The first card slot identifier and the first call identifier in the call association information are matched with the second card slot identifier and the second call identifier in the initial call card data to obtain the first result;
[0190] The associated operator identifier and the associated operator list in the initial call data are matched to obtain the second result;
[0191] Based on the first and second results, the identity of the operator's SDK is verified.
[0192] In one embodiment, when the computer program is executed by a processor, it further implements the following steps: the callback interface includes a callback function; based on the callback interface, a DC message is sent to the operator SDK, including:
[0193] Generate the target card data for the call based on the callback function and the initial card data for the call;
[0194] Based on the target SIM card data, initiate a bootstrap data channel establishment request to the IMS network;
[0195] Upon receiving a successful response from the IMS network regarding the establishment of the bootstrap data channel, a DC message is sent to the operator's SDK based on the callback interface.
[0196] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0197] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0198] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A message sending method, characterized in that, The method, applied to a data channel DC service deployed within a terminal, includes: In response to a binding request sent by the operator software development kit (SDK) deployed in the terminal, carrying a list of associated operators, a dedicated communication channel is created, and an association is established between the dedicated communication channel and the list of associated operators. The channel association information of the dedicated communication channel is sent to the operator SDK so that the operator SDK can return call association information based on the dedicated communication channel; wherein, the call association information includes a callback interface; Based on the call association information, the identity of the operator SDK is verified; If the identity verification is successful, a DC message is sent to the operator SDK based on the callback interface.
2. The method according to claim 1, characterized in that, The binding request is sent when the operator SDK is started under the control of the terminal call management system service.
3. The method according to claim 2, characterized in that, The operator SDK is determined by the terminal call management system based on the SIM information from the user identification module when it receives a call initiation request.
4. The method according to claim 1, characterized in that, The call association information also includes at least one of the first card slot identifier and the first call identifier.
5. The method according to claim 1, characterized in that, The method further includes: Upon receiving a call initiation request, initial call card data is established; wherein, the initial call card data includes a second card slot identifier, a second call identifier, and an associated operator identifier.
6. The method according to claim 5, characterized in that, The step of verifying the identity of the operator SDK based on the call association information includes: Upon receiving the call association information, a list of associated operators is obtained based on the dedicated communication channel; Based on the associated operator list, the call association information, and the call initial card data, the identity of the operator SDK is verified.
7. The method according to claim 6, characterized in that, The step of verifying the identity of the operator SDK based on the associated operator list, the call association information, and the initial call card data includes: The first card slot identifier and the first call identifier in the call association information are matched with the second card slot identifier and the second call identifier in the call initial card data to obtain a first result; The associated operator identifier in the initial call card data is matched with the associated operator list to obtain a second result; Based on the first result and the second result, the identity of the operator SDK is verified.
8. The method according to claim 5, characterized in that, The callback interface includes a callback function; sending a DC message to the operator SDK based on the callback interface includes: Based on the callback function and the initial call card data, generate the target call card data; Based on the target SIM card data, a bootstrap data channel establishment request is initiated to the IP Multimedia Subsystem (IMS) network; Upon receiving a successful establishment response from the IMS network for the bootstrap data channel, a DC message is sent to the operator SDK based on the callback interface.
9. A message sending device, characterized in that, The device, deployed within a terminal's DC service, includes: A creation module is used to respond to a binding request sent by the operator SDK deployed in the terminal, which carries a list of associated operators, to create a dedicated communication channel and establish an association between the dedicated communication channel and the list of associated operators; The first sending module is used to send the channel association information of the dedicated communication channel to the operator SDK, so that the operator SDK can feed back call association information based on the dedicated communication channel; wherein, the call association information includes a callback interface; An identity verification module is used to verify the identity of the operator SDK based on the call association information. The second sending module is used to send a DC message to the operator SDK based on the callback interface when the identity verification is successful.
10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 8.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 8.
12. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 8.
