Application download method and device, computer device, readable storage medium and program product
By sending a request message carrying the target application identifier to the eMMTel enabling server through the IMS terminal's SDK and using the HTTP protocol for interactive processing, the problem of low download efficiency caused by the large number of interactions between the eMMTel client and server is solved, and efficient application download is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER
- Filing Date
- 2024-12-05
- Publication Date
- 2026-05-19
AI Technical Summary
In the IMS terminal, the application download efficiency is low, mainly due to the excessive number of interactions between the eMMTel client and the eMMTel enabling server, resulting in resource consumption and low efficiency.
The IMS terminal's SDK sends an application configuration list request message carrying the target application identifier to the eMMTel enable server to directly obtain the configuration file, reducing multiple interactions. It uses the HTTP protocol for interaction processing, bypassing the DCSF function, to achieve the download process.
It improves the download efficiency of target applications, simplifies the development process, does not affect the 5GC/IMS system, and does not require modification of the native system.
Smart Images

Figure CN119743475B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to an application download method, apparatus, computer device, computer-readable storage medium, and computer program product. Background Technology
[0002] The download of data channel applications (hereinafter referred to as applications) in IMS (IP Multimedia Subsystem) terminals is achieved through the eMMTel (enhanceMultiMediaTelephony, IMS-based multimedia telephony service) enabling architecture defined by 3GPP TR 23.700.
[0003] When downloading applications based on the eMMTel enabled architecture, the number of interactions between the eMMTel client and the eMMTel enabled server is relatively high, resulting in very low application download efficiency. Summary of the Invention
[0004] Therefore, it is necessary to provide an application download method, apparatus, computer device, computer-readable storage medium, and computer program product that can improve the efficiency of application downloads, addressing the aforementioned technical problems.
[0005] In a first aspect, this application provides an application download method for an SDK in an IMS terminal, the method comprising:
[0006] Send an application configuration list request message to the eMMTel enable server. The application configuration list request message carries a first information element table. The first information element table includes a first information element, which is used to carry the application identifier of the target application.
[0007] The eMMTel enable server receives an application configuration file list response message in response to the application configuration list request message. The application configuration file list response message carries a second information element table, which includes an application configuration file list. The application configuration file list is determined based on the first information element.
[0008] In one embodiment, if the first information element carries the application identifier of the target application, the application configuration file list includes the configuration file of the target application.
[0009] In one embodiment, the first information element table further includes a second information element and a third information element, wherein the second information element is used to carry an index start value and the third information element is used to carry the number of page lists. When the first information element in the first information element table is empty, the application configuration file list includes configuration files of at least one candidate application, wherein the at least one candidate application is determined based on the index start value and the number of page lists.
[0010] In one embodiment, the method further includes:
[0011] Send an application request message to the eMMTel enabling server. The application request message includes a third information element table. The information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded.
[0012] The system receives an application response message from the eMMTel enabling server. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0013] In one embodiment, the response code includes a first response code, a second response code, a third response code, and a fourth response code, wherein,
[0014] The first response code is used to identify that the application has returned the latest version;
[0015] The second response code is used to indicate that the local cached version on the terminal is already the latest version, and there is no need to return to the application;
[0016] The third response code is used to identify that the application version number cached locally on the terminal is less than the lowest version number of the application to be downloaded, and the download fails.
[0017] The fourth response code is used to identify whether the end user is in the application's blacklist or not in the whitelist, and the download failed.
[0018] In one embodiment, the triggering condition for sending the application request message to the eMMTel enabling server includes any of the following:
[0019] In response to a download operation for the application to be downloaded;
[0020] The configuration file of the application to be downloaded includes a target indicator that indicates that the application to be downloaded will be downloaded automatically.
[0021] In response to the ADC channel establishment request, complete ADC negotiation with the peer device.
[0022] In one embodiment, the triggering condition is that, in response to the ADC channel establishment request, ADC negotiation is completed with the peer device, and the method further includes:
[0023] If the response code identifier download fails, disconnect the ADC channel established with the peer device.
[0024] Secondly, this application provides an application download method applied to an eMMTel enabling server, the method comprising:
[0025] Receive an application configuration list request message sent by an IMS terminal. The application configuration list request message carries a first information element table. The first information element table includes a first information element, which is used to carry the application identifier of the target application.
[0026] Based on the first information element, at least one application to be fed back is determined, and an application configuration file list response message is sent to the IMS terminal. The application configuration file list response message carries a second information element table, which includes an application configuration file list, and the application configuration file list includes the configuration files of each of the applications to be fed back.
[0027] In one embodiment, determining at least one application to be fed back based on the first information element includes:
[0028] If the first information element carries the application identifier of the target application, the target application is identified as the application to be fed back.
[0029] In one embodiment, determining at least one application to be fed back based on the first information element includes:
[0030] If the first information element is empty, then obtain the starting index value carried by the second information element and the number of page lists carried by the third information element from the first information element table.
[0031] Based on the index start value and the number of pages in the list, at least one candidate application is identified and the at least one candidate application is designated as the application to be fed back.
[0032] In one embodiment, the method further includes:
[0033] The system receives an application request message sent by the IMS terminal. The application request message includes a third information element table, and the information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded.
[0034] An application response message is sent to the IMS terminal. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0035] In one embodiment, the response code includes a first response code, a second response code, a third response code, and a fourth response code, wherein,
[0036] The first response code is used to identify that the application has returned the latest version;
[0037] The second response code is used to indicate that the local cached version on the terminal is already the latest version, and there is no need to return to the application;
[0038] The third response code is used to identify that the application version number cached locally on the terminal is less than the lowest version number of the application to be downloaded, and the download fails.
[0039] The fourth response code is used to identify whether the end user is in the application's blacklist or not in the whitelist, and the download failed.
[0040] Thirdly, this application also provides an application download device for an SDK in an IMS terminal, the device comprising:
[0041] The first sending module is used to send an application configuration list request message to the eMMTel enable server. The application configuration list request message carries a first information element table, which includes a first information element. The first information element is used to carry the application identifier of the target application.
[0042] The first receiving module is configured to receive an application configuration file list response message from the eMMTel enabling server in response to the application configuration list request message. The application configuration file list response message carries a second information element table, which includes an application configuration file list, and the application configuration file list is determined based on the first information element.
[0043] In one embodiment, if the first information element carries the application identifier of the target application, the application configuration file list includes the configuration file of the target application.
[0044] In one embodiment, the first information element table further includes a second information element and a third information element, wherein the second information element is used to carry an index start value and the third information element is used to carry the number of page lists. When the first information element in the first information element table is empty, the application configuration file list includes configuration files of at least one candidate application, wherein the at least one candidate application is determined based on the index start value and the number of page lists.
[0045] In one embodiment, the device further includes:
[0046] The second sending module is used to send an application request message to the eMMTel enabling server. The application request message includes a third information element table, and the information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded.
[0047] The second receiving module is used to receive the application response message fed back by the eMMTel enabling server. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0048] In one embodiment, the response code includes a first response code, a second response code, a third response code, and a fourth response code, wherein,
[0049] The first response code is used to identify that the application has returned the latest version;
[0050] The second response code is used to indicate that the local cached version on the terminal is already the latest version, and there is no need to return to the application;
[0051] The third response code is used to identify that the application version number cached locally on the terminal is less than the lowest version number of the application to be downloaded, and the download fails.
[0052] The fourth response code is used to identify whether the end user is in the application's blacklist or not in the whitelist, and the download failed.
[0053] In one embodiment, the triggering condition for sending the application request message to the eMMTel enabling server includes any of the following:
[0054] In response to a download operation for the application to be downloaded;
[0055] The configuration file of the application to be downloaded includes a target indicator that indicates that the application to be downloaded will be downloaded automatically.
[0056] In response to the ADC channel establishment request, complete ADC negotiation with the peer device.
[0057] In one embodiment, the triggering condition is that, in response to the ADC channel establishment request, ADC negotiation is completed with the peer device, and the device further includes:
[0058] The disconnect module is used to disconnect the ADC channel established with the peer device in the event that the response code identifier download fails.
[0059] Fourthly, this application also provides an application downloading apparatus for use with an eMMTel enabling server, the apparatus comprising:
[0060] The first receiving module is used to receive an application configuration list request message sent by an IMS terminal. The application configuration list request message carries a first information element table, which includes a first information element. The first information element is used to carry the application identifier of the target application.
[0061] The first sending module is configured to determine at least one application to be fed back based on the first information element, and send an application configuration file list response message to the IMS terminal. The application configuration file list response message carries a second information element table, which includes an application configuration file list, and the application configuration file list includes the configuration files of each of the applications to be fed back.
[0062] In one embodiment, the first sending module is specifically used for:
[0063] If the first information element carries the application identifier of the target application, the target application is identified as the application to be fed back.
[0064] In one embodiment, the first sending module is specifically used for:
[0065] If the first information element is empty, then obtain the starting index value carried by the second information element and the number of page lists carried by the third information element from the first information element table.
[0066] Based on the index start value and the number of pages in the list, at least one candidate application is identified and the at least one candidate application is designated as the application to be fed back.
[0067] In one embodiment, the device further includes:
[0068] The second receiving module is used to receive an application request message sent by the IMS terminal. The application request message includes a third information element table, and the information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded.
[0069] The second sending module is used to send an application response message to the IMS terminal. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0070] In one embodiment, the response code includes a first response code, a second response code, a third response code, and a fourth response code, wherein,
[0071] The first response code is used to identify that the application has returned the latest version;
[0072] The second response code is used to indicate that the local cached version on the terminal is already the latest version, and there is no need to return to the application;
[0073] The third response code is used to identify that the application version number cached locally on the terminal is less than the lowest version number of the application to be downloaded, and the download fails.
[0074] The fourth response code is used to identify whether the end user is in the application's blacklist or not in the whitelist, and the download failed.
[0075] Fifthly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement any of the above application download methods.
[0076] Sixthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any of the above application download methods.
[0077] Seventhly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements any of the above application download methods.
[0078] The aforementioned application download method, apparatus, computer device, computer-readable storage medium, and computer program product allow the IMS terminal's SDK to send an application configuration list request message to the eMMTel enabling server. This application configuration list request message carries a first information element table, which includes a first information element. This first information element carries the application identifier of the target application. Subsequently, the eMMTel enabling server can receive an application configuration file list response message in response to the application configuration list request message. This application configuration file list response message carries a second information element table, which includes an application configuration file list determined based on the first information element. Using the application download method, apparatus, computer device, computer-readable storage medium, and computer program product provided in this application embodiment, the download process is implemented through communication and interaction between the SDK and the eMMTel enabling server. The application configuration list request message sent by the SDK to the eMMTel enabling server includes an information element carrying the application identifier of the target application. During the download of the target application, the configuration file of the target application can be directly obtained through this information element, eliminating the need for multiple interactions between the eMMTel client and the eMMTel enabling server, thus improving the download efficiency of the target application.
[0079] Furthermore, the download process is handled by the SDK and the eMMTel enabling server at the application layer via HTTP (Hypertext Transfer Protocol), which can bypass DCSF (Data Channel Signaling Function). The implementation of this technical solution has no impact on 5GC (5th Generation Core Network) / IMS. Adding an SDK to an IMS terminal does not involve modifying the native system. Therefore, the development process of this technical solution is simple and can effectively improve production efficiency. Attached Figure Description
[0080] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0081] Figure 1 This is a schematic diagram of the eMMTel enabling architecture in one embodiment;
[0082] Figure 2 This is a flowchart illustrating an application download method in one embodiment;
[0083] Figure 3 This is a flowchart illustrating the download steps of an application to be downloaded in one embodiment;
[0084] Figure 4 This is a flowchart illustrating the application download method in another embodiment;
[0085] Figure 5 This is a flowchart illustrating step 404 in one embodiment;
[0086] Figure 6 This is a flowchart illustrating the download steps of the application to be downloaded in another embodiment;
[0087] Figure 7 This is a schematic diagram of the architecture of an IMS terminal in one embodiment;
[0088] Figure 8 This is a signaling interaction diagram of an application download method in one embodiment;
[0089] Figure 9 This is a structural block diagram of an application download device in one embodiment;
[0090] Figure 10 This is a structural block diagram of an application download device in another embodiment;
[0091] Figure 11 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0092] 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.
[0093] The downloading of data channel applications (hereinafter referred to as applications) in the IMS terminal is achieved through the eMMTel enabling architecture defined in 3GPP TR23.700. The eMMTel enabling architecture refers to... Figure 1 As shown, the eMMTel enabling server is hosted on a carrier network that supports eMMTel service functionality.
[0094] The eMMTel client and eMMTel enabling server interact through the eMMTel-1 reference point. The eMMTel client requests a list of applications available to the end user from the eMMTel enabling server, and the eMMTel enabling server returns a fully paginated list of applications to the eMMTel client, along with a configuration file for each application. The configuration file contains multiple indicators set by the application provider or eMMTel service provider. These indicators include, but are not limited to: download time (e.g., before or during a call); whether to automatically download and launch to the terminal; whether to automatically load to the local dialer; supported media types; and QoS requirements.
[0095] The DCMTSI (DC Multimedia Telephony Service for IMS) client is responsible for creating the bootstrap data channel and actually downloading the application. The eMMTel client, according to the policy provided by the eMMTel enabling server, interacts with the DCMTSI client specified in 3GPP TS 26.114 through the eMMTel-4 reference point to control the download behavior of DCMTSI.
[0096] However, the current process of downloading applications using the eMMTel-enabled architecture has the following problems:
[0097] Currently, the application list returned by the eMMTel enabling server to the eMMTel client is "fully paginated." This means that for every user action on the terminal (e.g., a swipe), the eMMTel client requests one page of the application list from the eMMTel enabling server, with a fixed number of entries per page (e.g., 20, which can be defined). This approach doesn't consider the scenario where users directly search for individual applications, leading to a serious problem: users wanting to find a single application must start from the first page and search page by page. This increases the number of interactions between the eMMTel client and the eMMTel enabling server, resulting in very low application download efficiency and excessive resource consumption.
[0098] This application provides an application download method to solve the above-mentioned technical problems. The application download method provided in this application is described below through specific embodiments.
[0099] In one embodiment, such as Figure 2 As shown, an application download method is provided. This embodiment illustrates the method by applying it to an IMS terminal's SDK (Software Development Kit). It is understood that an IMS terminal refers to a user device or client that supports IMS technology. An IMS terminal is primarily responsible for multimedia communication over an IP network, including voice, video, and messaging services, and can include smartphones, tablets, landline phones, PC clients, etc. In this embodiment, the method includes the following steps:
[0100] Step 202: Send an application configuration list request message to the eMMTel enable server. The application configuration list request message carries a first information element table, which includes a first information element. The first information element is used to carry the application identifier of the target application.
[0101] In this embodiment, based on the configuration information set by the application provider or eMMTel service provider through the control of the application server, the configuration file and application download package of each application are stored in the eMMTel enabling server. The SDK can send an application configuration list request message to the eMMTel enabling server.
[0102] For example, in an IMS terminal, the SDK can call the "Service+SOC" component through a predefined AIDL (Android Interface Definition Language, an Android-specific language used to define the interface used for cross-process communication between clients and services) interface, and send and receive HTTP protocol packets that enable interaction between the SDK and eMMTel at the IMS protocol layer.
[0103] In this context, a Service refers to a set of functions or programs provided by the operating system that support application execution, manage hardware resources, and provide interfaces for users and programs. A System on Chip (SoC) is a highly integrated microchip that integrates the functions of multiple chips, such as microprocessors, analog IP cores, digital IP cores, and memory, onto a single silicon chip, achieving the integration of key system components. In this example, the SDK can call the Service through a predefined AIDL interface. The Service controls the SoC to create a Bootstrap Data Center (BDC) channel, allowing the SDK to interact with the eMMTel enabling server within the BDC channel.
[0104] The application configuration list request message sent by the SDK to the eMMTel enable server may include a table of first information elements. The first information element table includes a first information element, which is used to carry the application identifier of the target application. The application identifier of the target application may include the ID of the target application, the name of the target application, and the search keywords corresponding to the target application.
[0105] For example, the first information element table in the application configuration list request message is shown in Table 1.
[0106] Table 1
[0107]
[0108] In this context, status M indicates mandatory (i.e., required field), and status O indicates optional (i.e., not required field). The SDK version number is the version number of the SDK. After receiving the application configuration list request message, the eMMTel enabling server needs to obtain the SDK version number from the application configuration list request message in order to verify the SDK version.
[0109] For example, in a scenario where a user operates an IMS terminal to search for a target application, the first information element in the first information element table can carry the application identifier of the target application; that is, the information elements in the first information element table include the application identifier of the target application. Alternatively, when a user operates an IMS terminal to browse the page corresponding to an application, this first information element is empty.
[0110] The second information element is the starting index value, which carries the starting index value of the first application configuration file required in the application configuration file list. For example, when requesting the eMMTel enabling server to return the application list, the SDK needs to tell the eMMTel enabling server from which item to return. It is generally set to 0, meaning starting from the first page. Taking 25 items per page as an example, the next page will start from the 25th item in the application list, so this value should be set to 25.
[0111] This information element is displayed if the requested application is not the first in the application list. For example, when displaying the application list across multiple pages, this information element should be included when requesting pages other than the first one. If this information element is not present, its default value is 0.
[0112] The third information element is the number of pages in the list, which indicates the number of application configuration files requested, i.e., the number of applications that can be displayed in the page.
[0113] Step 204: Receive the application configuration file list response message from the eMMTel enable server in response to the application configuration list request message. The application configuration file list response message carries a second information element table, which includes the application configuration file list, which is determined based on the first information element.
[0114] In this embodiment of the application, after receiving the application configuration list request message, the eMMTel enabling server can send an application configuration file list response message back to the SDK. The application configuration file list response message carries a second information element table, which includes an application configuration file list. The configuration files carried in the application configuration file list are determined by the eMMTel enabling server based on the first information element.
[0115] For example, the second information element table in the application configuration file list response message is shown in Table 2.
[0116] Table 2
[0117]
[0118] Table 3
[0119]
[0120] For example, if the first information element is not empty, the eMMTel enabling server can return the configuration file of the application corresponding to the application identifier carried by the first information element; or, if the first information element is empty, the eMMTel enabling server can return the configuration file of the application corresponding to the currently viewed page.
[0121] In the above application download method, the IMS terminal's SDK can send an application configuration list request message to the eMMTel enabling server. This application configuration list request message carries a first information element table, which includes a first information element. This first information element carries the application identifier of the target application. Subsequently, the eMMTel enabling server can receive an application configuration file list response message in response to the application configuration list request message. This application configuration file list response message carries a second information element table, which includes an application configuration file list determined based on the first information element. Using the application download method provided in this application embodiment, the download process is implemented through communication and interaction between the SDK and the eMMTel enabling server. The application configuration list request message sent by the SDK to the eMMTel enabling server includes an information element carrying the application identifier of the target application. During the download of the target application, the configuration file of the target application can be directly obtained through this information element, eliminating the need for multiple interactions between the eMMTel client and the eMMTel enabling server, thus improving the download efficiency of the target application.
[0122] Furthermore, the download process is handled by the SDK and the eMMTel enabling server at the application layer via HTTP (Hypertext Transfer Protocol), which can bypass DCSF (Data Channel Signaling Function). The implementation of this technical solution has no impact on 5GC (5th Generation Core Network) / IMS. Adding an SDK to an IMS terminal does not involve modifying the native system. Therefore, the development process of this technical solution is simple and can effectively improve production efficiency.
[0123] In one exemplary embodiment, when the first information element carries the application identifier of the target application, the application configuration file list includes the configuration file of the target application.
[0124] In this embodiment, when a user operates an IMS terminal to search for a specified application, the first information element carries the application identifier entered by the user. If the first information element is not empty, the eMMTel enabling server directly determines the target application based on a fuzzy search of that first information element, and carries the target application's configuration file in the second information element table of the returned application configuration file list response message.
[0125] In an exemplary embodiment, the first information element table further includes a second information element and a third information element. The second information element is used to carry an index start value, and the third information element is used to carry the number of page lists. When the first information element in the first information element table is empty, the application configuration file list includes configuration files of at least one candidate application. The at least one candidate application is determined based on the index start value and the number of page lists.
[0126] In this embodiment, when the user browses the page, that is, without entering an application identifier, in response to the user's swipe or other triggering operation on the IMS terminal, the SDK sends an application configuration list request message to the eMMTel enable server. In this message, the first information element in the first information element table is empty, the second information element carries the index start value, and the third information element carries the number of pages in the list. The index start value and the number of pages in the list have been described in the previous embodiments and will not be repeated here in this embodiment.
[0127] When the first information element is empty, the eMMTel enabling server retrieves the starting index value and the number of pages from the first information element, and searches for the number of applications in the application list as candidate applications based on the starting index value. The configuration files of each candidate application are then carried in the second information element table of the returned application configuration file list response message.
[0128] In one exemplary embodiment, reference is made to Figure 3 As shown, the above method further includes steps 302 to 304, wherein:
[0129] Step 302: Send an application request message to the eMMTel enabling server. The application request message includes a third information element table. The information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded.
[0130] Step 304: Receive the application response message from the eMMTel enable server. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0131] In this embodiment, after obtaining the application configuration file list, the IMS terminal's SDK can continue to send application request messages to the eMMTel enabling server. This application request message includes a third information element table, where information elements include the identifier and version number of the application to be downloaded. For example, if the IMS terminal has the application to be downloaded cached locally, the third information element table may include the identifier and version number of the application to be downloaded; alternatively, if the IMS terminal does not have the application to be downloaded cached locally, the third information element table may include the identifier of the application to be downloaded, but the version number will be empty.
[0132] For example, the table of third information elements in the application request message is shown in Table 4.
[0133] Table 4
[0134]
[0135] After receiving an application request message, the eMMTel enabling server can respond to the application request message by sending an application response message. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0136] The response code may include a first response code, a second response code, a third response code, and a fourth response code. The first response code indicates that the latest version of the application has been returned; the second response code indicates that the locally cached version on the terminal is already the latest version and there is no need to return the application; the third response code indicates that the version number of the application cached on the terminal is less than the minimum version number of the application to be downloaded, and the download fails; the fourth response code indicates that the terminal user is either in the application blacklist or not in the whitelist, and the download fails. For example, the fourth information element table is shown in Table 5 below.
[0137] Table 5
[0138]
[0139] In one exemplary embodiment, the triggering condition for sending an application request message to the eMMTel enable server may include any of the following:
[0140] Responding to a download operation for the application to be downloaded;
[0141] The configuration file of the application to be downloaded includes a target indicator that indicates that the application to be downloaded should be downloaded automatically.
[0142] In response to the ADC channel establishment request, complete ADC negotiation with the peer device.
[0143] In this embodiment, two methods are involved: download initiated by the local end and download initiated by the peer end.
[0144] The scenarios in which the download is initiated by the user include: when the user selects an application to download from the paginated applications, the SDK can respond to the user's download operation by sending an application request message to the eMMTel enabling server; or, if the obtained application configuration file list contains an indicator that indicates that the application needs to be automatically loaded into the terminal, or that the application needs to be downloaded into the terminal and run automatically, the SDK can respond to the application's automatic download attribute by sending an application request message to the eMMTel enabling server.
[0145] When the peer initiates a download, the IMS terminal receives a request to establish an ADC between the end-to-end ADC or between the end and the network. After the local terminal completes ADC negotiation with the peer device by calling the "Service+SOC" component through the SDK, the SDK can send an application request message to the eMMTel enable server in response to the application instructed by the peer to be downloaded.
[0146] In one example embodiment, when the triggering condition is to complete ADC negotiation with the peer device in response to an ADC channel establishment request, the above method may further include: disconnecting the ADC channel established with the peer device if the response code identifier download fails.
[0147] In this embodiment of the application, after the SDK obtains the application response message fed back by the eMMTel enable server, if the response code in the fourth information element table of the application response message indicates that the download has failed, for example, the response code is the third response code or the fourth response code, then the SDK can disconnect the ADC channel suggested by the peer device.
[0148] In one embodiment, such as Figure 4 As shown, an application download method is provided. This embodiment takes the application of this method to an eMMTel enabling server as an example. The method includes the following steps 402 to 404, wherein:
[0149] Step 402: Receive an application configuration list request message sent by the IMS terminal. The application configuration list request message carries a first information element table, which includes a first information element. The first information element is used to carry the application identifier of the target application.
[0150] Step 404: Determine at least one application to be fed back based on the first information element, and send an application configuration file list response message to the IMS terminal. The application configuration file list response message carries a second information element table, which includes an application configuration file list, and the application configuration file list includes the configuration files of each of the applications to be fed back.
[0151] In this embodiment, the process of the IMS terminal sending the application configuration list request message and the description of the application configuration list request message can be referred to the relevant description in the foregoing embodiments, and will not be repeated here.
[0152] For example, after receiving an application configuration list request message, the eMMTel enabling server can obtain a first information element from the message. If the first information element is not empty, the eMMTel enabling server can use the application identifier carried in the first information element as the application to be fed back, and feed back the configuration file of that application through the application configuration file list response message; or, if the first information element is empty, the eMMTel enabling server can use the application corresponding to the currently viewed pagination as the application to be fed back, and feed back the configuration file of that application through the application configuration file list response message.
[0153] In the above application download method, the IMS terminal's SDK can send an application configuration list request message to the eMMTel enabling server. This application configuration list request message carries a first information element table, which includes a first information element. This first information element carries the application identifier of the target application. Subsequently, the eMMTel enabling server can receive an application configuration file list response message in response to the application configuration list request message. This application configuration file list response message carries a second information element table, which includes an application configuration file list determined based on the first information element. Using the application download method provided in this application embodiment, the download process is implemented through communication and interaction between the SDK and the eMMTel enabling server. The application configuration list request message sent by the SDK to the eMMTel enabling server includes an information element carrying the application identifier of the target application. During the download of the target application, the configuration file of the target application can be directly obtained through this information element, eliminating the need for multiple interactions between the eMMTel client and the eMMTel enabling server, thus improving the download efficiency of the target application.
[0154] Furthermore, the download process is handled by the SDK and the eMMTel enabling server at the application layer via HTTP (Hypertext Transfer Protocol), which can bypass DCSF (Data Channel Signaling Function). The implementation of this technical solution has no impact on 5GC (5th Generation Core Network) / IMS. Adding an SDK to an IMS terminal does not involve modifying the native system. Therefore, the development process of this technical solution is simple and can effectively improve production efficiency.
[0155] In an exemplary embodiment, step 404, determining at least one application to be fed back based on the first information element, may include:
[0156] If the first information element carries the application identifier of the target application, the target application is identified as the application to be fed back.
[0157] In this embodiment, when a user operates an IMS terminal to search for a specified application, the first information element carries the application identifier entered by the user. If the first information element is not empty, the eMMTel enabling server directly determines the target application based on a fuzzy search of that first information element, and treats the target application as the application to be fed back. It then feeds back the configuration file of the application to be fed back through an application configuration file list response message.
[0158] In one exemplary embodiment, reference is made to Figure 5 As shown, in step 404, at least one application to be fed back is determined based on the first information element, including the following steps 502 to 504, wherein:
[0159] Step 502: If the first information element is empty, then obtain the starting index value carried by the second information element and the number of page lists carried by the third information element from the first information element table.
[0160] Step 504: Based on the index start value and the number of pages in the list, determine at least one candidate application and designate at least one candidate application as the application to be fed back.
[0161] In this embodiment of the application, when the user is browsing a page, that is, when no application identifier is entered, in response to the user's swiping or other triggering operations on the IMS terminal, the first information element in the application configuration list request message sent by the SDK to the eMMTel enable server is empty, the second information element carries the index start value, and the third information element carries the number of pages in the list.
[0162] When the first information element is empty, the eMMTel enabling server retrieves the starting index value and the number of pages from the first information element, and searches for the number of applications in the application list based on the starting index value as candidate applications. The candidate applications are then used as applications to be fed back, and the configuration files of the applications to be fed back are fed back through the application configuration file list response message.
[0163] In one exemplary embodiment, reference is made to Figure 6 As shown, the method may further include steps 602 to 604, wherein:
[0164] Step 602: Receive an application request message sent by the IMS terminal. The application request message includes a third information element table. The information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded.
[0165] Step 604: Send an application response message to the IMS terminal. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0166] In this embodiment, after obtaining the application configuration file list, the IMS terminal's SDK can continue to send application request messages to the eMMTel enabling server. The application request message includes a third information element table, where information elements include the identifier of the application to be downloaded and the version number of the application to be downloaded.
[0167] After receiving an application request message, the eMMTel enabling server can respond to the application request message by sending an application response message. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0168] For example, if the identifier of the application to be downloaded is found, and the version number of the application to be downloaded is lower than the latest version number, the application package of the application to be downloaded can be carried in the message body, and the response code can be determined as the first response code to identify that the latest version of the application has been returned.
[0169] Alternatively, if the version number of the application to be downloaded carried in the application request message is already the latest version, and it can be determined that the response code is the second response code, which is used to identify that the local cached version on the terminal is already the latest version, there is no need to return to the application, and the message body is empty.
[0170] Alternatively, if the version number of the application to be downloaded carried in the application request message is less than the lowest version number stored on the eMMTel enabling server side, the IMS terminal is not allowed to directly update the version. The response code can be determined as a third response code, which is used to identify that the application version number cached locally on the terminal is less than the lowest version number of the application to be downloaded, the download fails, and the message body is empty.
[0171] Alternatively, if the eMMTel enabling server maintains an application blacklist or whitelist, and downloads are not allowed for end users on the blacklist or are only allowed for users on the whitelist, the response code can be determined as the fourth response code, which is used to identify whether the end user is on the application blacklist or not. If the download fails, the message body will be empty.
[0172] To enable those skilled in the art to fully understand the embodiments of this application, the embodiments of this application are described below through specific examples.
[0173] For example, refer to Figure 7 The diagram shows an architectural schematic of the IMS terminal in an embodiment of this application.
[0174] In this embodiment, the functionality of abstract components such as "eMMTel-1" and "eMMTel-4" in the eMMTel client + DCMTSI client within the eMMTel enabling architecture is implemented on the IMS terminal side using an SDK+Service+SOC component. This includes: implementing the eMMTel client component's functionality using an external SDK, which obtains an application list and configuration files for each application from the eMMTel enabling server. The configuration files contain multiple indicators; and utilizing a Service component in the operating system—a user-friendly, background-running component—to work with the IMS protocol stack in the SOC to implement the DCMTSI client component's functionality, creating a boot data channel and actually downloading the application.
[0175] In this embodiment, based on the configuration information set by the application provider or eMMTel service provider through the control of the application server, the configuration file and application download package of each application are stored in the eMMTel enabling server; the boot data channel is created by the SOC, without involving the interaction process with other components within the terminal; reference point eMMTel-1 is implemented using the HTTP protocol. After the boot data channel is established, the SDK uses the HTTP protocol to send an application request message to the eMMTel enabling server, requesting the eMMTel enabling server to return the application's configuration file and application download package; reference point eMMTel-4 is implemented using the AIDL interface. The SDK calls AIDL to notify the "Service+SOC" component to send and receive HTTP protocol packets between the SDK and the eMMTel enabling server at the IMS protocol layer.
[0176] Reference Figure 8 The diagram shown illustrates the signaling interaction during application download in an embodiment of this application.
[0177] First, the SOC has established a boot data channel. The eMMTel client in the SDK sends an application profile list request message (see Table 1) to the eMMTel enable server to obtain the list of application profiles available to the user.
[0178] The "Application Name" information element in Table 1 is a newly added information element in this embodiment, which solves the problem of end users directly searching for a single application. If this element is not empty, it instructs the eMMTel enabling server to only retrieve applications that match this information element; that is, the application configuration file list returned for the IMS terminal changes from "fully paginated" to "partially paginated." If this element is empty, the application configuration file list returned for the IMS terminal remains "fully paginated."
[0179] The eMMTel enabling server sends a response message containing a list of application configuration files to the eMMTel client in the SDK (see Table 2; for individual application configuration files, see Table 3).
[0180] The download process includes two methods: download initiated by the local end and download initiated by the peer end.
[0181] The local application download methods include: the user selecting an application from the application list or triggering a download based on the application's automatic download attribute. The SDK sends an application request message to the eMMTel enabling server. When the terminal has a cached application, the SDK needs to include the cached application version number information in the message. See Table 4 for the information elements of the application request message. The eMMTel enabling server sends an application response message to the SDK. If it determines that the application needs an update, the message returns the new application; if it determines that the cached application version is already the latest version, the message returns information indicating that an update is not needed. In particular, if the eMMTel enabling server determines that the cached application version number is less than the minimum version number required for the requested application, or if the eMMTel enabling server determines that the application cannot be used by the current user (e.g., the user is in the application blacklist or not in the whitelist), it returns a failure reason. See Table 5 for the information elements of the application response message.
[0182] The peer application download process includes: the terminal receives an ADC establishment request between the end-to-end ADC or between the end and the network; the local SDK+Service and the peer complete ADC negotiation; the SDK sends an application request message to the eMMTel enabling server; if the terminal has a cached application, the SDK must include the cached application version number in the message; the eMMTel enabling server sends an application response message to the SDK; if the eMMTel enabling server determines that the application needs an update, it returns the new application in the message; if the eMMTel enabling server determines that the cached application version is already the latest version, it returns information that no update is needed. Specifically, if the eMMTel enabling server determines that the cached application version number is less than the minimum version number required for the requested application, or if the eMMTel enabling server determines that the application cannot be used by the current user (e.g., the user is in the application blacklist or not in the whitelist), it returns a failure reason. If the application download fails, the SDK instructs the Service to dismantle the ADC channel established in the aforementioned process.
[0183] The application download method provided in this application involves the SDK and eMMTel enabling server interacting at the application layer via HTTP protocol, bypassing the top layer of DCSF. Therefore, the technical solution has no impact on 5GC / IMS. Adding new SDKs / Services does not involve modifying the native system, effectively improving production efficiency. The excellent compatibility of the HTTP protocol aligns with sustainable development requirements.
[0184] It should be understood that although the steps in the flowcharts of the embodiments described above 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 embodiments described above 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.
[0185] Based on the same inventive concept, this application also provides an application downloading apparatus for implementing the application downloading 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 application downloading apparatus embodiments provided below can be found in the limitations of the application downloading method described above, and will not be repeated here.
[0186] In one exemplary embodiment, such as Figure 9 As shown, an application downloading device is provided, including: a first sending module 902 and a first receiving module 904, wherein:
[0187] The first sending module 902 is used to send an application configuration list request message to the eMMTel enable server. The application configuration list request message carries a first information element table, which includes a first information element. The first information element is used to carry the application identifier of the target application.
[0188] The first receiving module 904 is configured to receive an application configuration file list response message from the eMMTel enabling server in response to the application configuration list request message. The application configuration file list response message carries a second information element table, which includes an application configuration file list, which is determined based on the first information element.
[0189] The application download device provided in this application embodiment enables the download process through communication between the SDK and the eMMTel enabling server. The application configuration list request message sent by the SDK to the eMMTel enabling server includes an information element carrying the application identifier of the target application. During the download process, the target application's configuration file can be directly obtained through this information element, eliminating the need for multiple interactions between the eMMTel client and the eMMTel enabling server, thus improving the download efficiency. Furthermore, the download process is handled by the SDK and the eMMTel enabling server at the application layer via HTTP (Hypertext Transfer Protocol), bypassing DCSF (Data Channel Signaling Function). The implementation of this technical solution has no impact on 5GC (5th Generation Core Network) / IMS. Adding an SDK to an IMS terminal does not involve modifying the native system; therefore, the development process is simple and can effectively improve production efficiency.
[0190] In one embodiment, if the first information element carries the application identifier of the target application, the application configuration file list includes the configuration file of the target application.
[0191] In one embodiment, the first information element table further includes a second information element and a third information element, wherein the second information element is used to carry an index start value and the third information element is used to carry the number of page lists. When the first information element in the first information element table is empty, the application configuration file list includes configuration files of at least one candidate application, wherein the at least one candidate application is determined based on the index start value and the number of page lists.
[0192] In one embodiment, the device further includes:
[0193] The second sending module is used to send an application request message to the eMMTel enabling server. The application request message includes a third information element table, and the information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded.
[0194] The second receiving module is used to receive the application response message fed back by the eMMTel enabling server. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0195] In one embodiment, the response code includes a first response code, a second response code, a third response code, and a fourth response code, wherein,
[0196] The first response code is used to identify that the application has returned the latest version;
[0197] The second response code is used to indicate that the local cached version on the terminal is already the latest version, and there is no need to return to the application;
[0198] The third response code is used to identify that the application version number cached locally on the terminal is less than the lowest version number of the application to be downloaded, and the download fails.
[0199] The fourth response code is used to identify whether the end user is in the application's blacklist or not in the whitelist, and the download failed.
[0200] In one embodiment, the triggering condition for sending the application request message to the eMMTel enabling server includes any of the following:
[0201] In response to a download operation for the application to be downloaded;
[0202] The configuration file of the application to be downloaded includes a target indicator that indicates that the application to be downloaded will be downloaded automatically.
[0203] In response to the ADC channel establishment request, complete ADC negotiation with the peer device.
[0204] In one embodiment, the triggering condition is that, in response to the ADC channel establishment request, ADC negotiation is completed with the peer device, and the device further includes:
[0205] The disconnect module is used to disconnect the ADC channel established with the peer device in the event that the response code identifier download fails.
[0206] In one exemplary embodiment, such as Figure 10 As shown, an application download device is provided, including: a first receiving module 1002 and a first sending module 1004, wherein:
[0207] The first receiving module 1002 is used to receive an application configuration list request message sent by an IMS terminal. The application configuration list request message carries a first information element table, which includes a first information element. The first information element is used to carry the application identifier of the target application.
[0208] The first sending module 1004 is configured to determine at least one application to be fed back based on the first information element, and send an application configuration file list response message to the IMS terminal. The application configuration file list response message carries a second information element table, which includes an application configuration file list, and the application configuration file list includes the configuration files of each of the applications to be fed back.
[0209] The application download device provided in this application embodiment enables the download process through communication between the SDK and the eMMTel enabling server. The application configuration list request message sent by the SDK to the eMMTel enabling server includes an information element carrying the application identifier of the target application. During the download process, the target application's configuration file can be directly obtained through this information element, eliminating the need for multiple interactions between the eMMTel client and the eMMTel enabling server, thus improving the download efficiency. Furthermore, the download process is handled by the SDK and the eMMTel enabling server at the application layer via HTTP (Hypertext Transfer Protocol), bypassing DCSF (Data Channel Signaling Function). The implementation of this technical solution has no impact on 5GC (5th Generation Core Network) / IMS. Adding an SDK to an IMS terminal does not involve modifying the native system; therefore, the development process is simple and can effectively improve production efficiency.
[0210] In one embodiment, the first sending module 1004 is specifically used for:
[0211] If the first information element carries the application identifier of the target application, the target application is identified as the application to be fed back.
[0212] In one embodiment, the first sending module 1004 is specifically used for:
[0213] If the first information element is empty, then obtain the starting index value carried by the second information element and the number of page lists carried by the third information element from the first information element table.
[0214] Based on the index start value and the number of pages in the list, at least one candidate application is identified and the at least one candidate application is designated as the application to be fed back.
[0215] In one embodiment, the device further includes:
[0216] The second receiving module is used to receive an application request message sent by the IMS terminal. The application request message includes a third information element table, and the information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded.
[0217] The second sending module is used to send an application response message to the IMS terminal. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
[0218] In one embodiment, the response code includes a first response code, a second response code, a third response code, and a fourth response code, wherein,
[0219] The first response code is used to identify that the application has returned the latest version;
[0220] The second response code is used to indicate that the local cached version on the terminal is already the latest version, and there is no need to return to the application;
[0221] The third response code is used to identify that the application version number cached locally on the terminal is less than the lowest version number of the application to be downloaded, and the download fails.
[0222] The fourth response code is used to identify whether the end user is in the application's blacklist or not in the whitelist, and the download failed.
[0223] Each module in the aforementioned application download 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.
[0224] In one exemplary embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 11As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. 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 and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When the computer program is executed by the processor, it implements an application download method. The display unit is used to form a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0225] Those skilled in the art will understand that Figure 11 The 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. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0226] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0227] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0228] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0229] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0230] 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, and when executed, it 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 memory 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, artificial intelligence (AI) processors, etc., and are not limited to these.
[0231] 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 application.
[0232] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent 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 method for downloading an application, characterized in that, A software development kit (SDK) applied in an IP Multimedia Subsystem (IMS) terminal, wherein the SDK calls a Service through a predefined Android-specific language AIDL interface, the Service controls the system-on-a-chip (SoC) to create a boot data channel (BDC), and interacts with an IMS-based multimedia telephony service (eMMTel) enable server within the BDC channel. The method includes: Send an application configuration list request message to the eMMTel enable server. The application configuration list request message carries a first information element table. The first information element table includes a first information element. The first information element is used to carry the application identifier of the target application. The target application is a data channel application. The eMMTel enable server receives an application configuration file list response message in response to the application configuration list request message. The application configuration file list response message carries a second information element table, which includes an application configuration file list. The application configuration file list is determined based on the first information element.
2. The method according to claim 1, characterized in that, If the first information element carries the application identifier of the target application, the application configuration file list includes the configuration file of the target application.
3. The method according to claim 1, characterized in that, The first information element table also includes a second information element and a third information element. The second information element is used to carry the index start value, and the third information element is used to carry the number of pages in the list. When the first information element in the first information element table is empty, the application configuration file list includes the configuration file of at least one candidate application. The at least one candidate application is determined based on the index start value and the number of pages in the list.
4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: Send an application request message to the eMMTel enabling server. The application request message includes a third information element table. The information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded. The system receives an application response message from the eMMTel enabling server. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
5. The method according to claim 4, characterized in that, The response codes include a first response code, a second response code, a third response code, and a fourth response code, wherein, The first response code is used to identify that the application has returned the latest version; The second response code is used to indicate that the local cached version on the terminal is already the latest version, and there is no need to return to the application; The third response code is used to identify that the application version number cached locally on the terminal is less than the lowest version number of the application to be downloaded, and the download fails. The fourth response code is used to identify whether the end user is in the application's blacklist or not in the whitelist, and the download failed.
6. The method according to claim 4, characterized in that, The triggering condition for sending the application request message to the eMMTel enabling server includes any one of the following: In response to a download operation for the application to be downloaded; The configuration file of the application to be downloaded includes a target indicator that indicates that the application to be downloaded will be downloaded automatically. In response to the application data channel ADC channel establishment request, complete ADC negotiation with the peer device.
7. The method according to claim 6, characterized in that, The triggering condition is that, in response to the ADC channel establishment request, ADC negotiation is completed with the peer device. The method further includes: If the response code identifier download fails, disconnect the ADC channel established with the peer device.
8. A method for downloading an application, characterized in that, The method, applied to an eMMTel enabling server for multimedia telephony services based on the IP Multimedia Subsystem (IMS), includes: The system receives an application configuration list request message from an IMS terminal. The application configuration list request message carries a first information element table, which includes a first information element. The first information element is used to carry the application identifier of the target application. The software development kit (SDK) in the IMS terminal calls the Service through a predefined Android-specific language (AIDL) interface. The Service controls the system-on-a-chip (SOC) to create a boot data channel (BDC) channel and interacts with the eMMTel enable server in the BDC channel. The target application is a data channel application. Based on the first information element, at least one application to be fed back is determined, and an application configuration file list response message is sent to the IMS terminal. The application configuration file list response message carries a second information element table, which includes an application configuration file list, and the application configuration file list includes the configuration files of each of the applications to be fed back.
9. The method according to claim 8, characterized in that, The step of determining at least one application to be fed back based on the first information element includes: If the first information element carries the application identifier of the target application, the target application is identified as the application to be fed back.
10. The method according to claim 8, characterized in that, The step of determining at least one application to be fed back based on the first information element includes: If the first information element is empty, then obtain the starting index value carried by the second information element and the number of page lists carried by the third information element from the first information element table. Based on the index start value and the number of pages in the list, at least one candidate application is identified and the at least one candidate application is designated as the application to be fed back.
11. The method according to any one of claims 8 to 10, characterized in that, The method further includes: The system receives an application request message sent by the IMS terminal. The application request message includes a third information element table, and the information elements in the third information element table include the identifier of the application to be downloaded and the version number of the application to be downloaded. An application response message is sent to the IMS terminal. The application response message includes a fourth information element table. The information elements in the fourth information element table include the identifier of the application to be downloaded, the version number of the application to be downloaded, the response code, and the message body. The response code is used to identify the content of this response, and the message body is used to carry the application package of the application to be downloaded.
12. The method according to claim 11, characterized in that, The response codes include a first response code, a second response code, a third response code, and a fourth response code, wherein, The first response code is used to identify that the application has returned the latest version; The second response code is used to indicate that the local cached version on the terminal is already the latest version, and there is no need to return to the application; The third response code is used to identify that the application version number cached locally on the terminal is less than the lowest version number of the application to be downloaded, and the download fails. The fourth response code is used to identify whether the end user is in the application's blacklist or not in the whitelist, and the download failed.
13. An application downloading device, characterized in that, A software development kit (SDK) applied in an IP Multimedia Subsystem (IMS) terminal, wherein the SDK calls a Service through a predefined Android-specific language AIDL interface, the Service controls the system-on-a-chip (SoC) to create a boot data channel (BDC), and interacts with an IMS-based multimedia telephony service (eMMTel) enable server in the BDC channel. The device includes: The first sending module is used to send an application configuration list request message to the eMMTel enable server. The application configuration list request message carries a first information element table. The first information element table includes a first information element. The first information element is used to carry the application identifier of the target application. The target application is a data channel application. The first receiving module is configured to receive an application configuration file list response message from the eMMTel enabling server in response to the application configuration list request message. The application configuration file list response message carries a second information element table, which includes an application configuration file list, and the application configuration file list is determined based on the first information element.
14. An application downloading device, characterized in that, The device is used as an eMMTel enabling server for multimedia telephony services based on IP Multimedia Subsystem (IMS), the device comprising: The first receiving module is used to receive an application configuration list request message sent by the IMS terminal. The application configuration list request message carries a first information element table, which includes a first information element. The first information element is used to carry the application identifier of the target application. The software development kit (SDK) in the IMS terminal calls the Service through a predefined Android-specific language (AIDL) interface. The Service controls the system-on-a-chip (SOC) to create a boot data channel (BDC) channel and interacts with the eMMTel enable server in the BDC channel. The target application is a data channel application. The first sending module is configured to determine at least one application to be fed back based on the first information element, and send an application configuration file list response message to the IMS terminal. The application configuration file list response message carries a second information element table, which includes an application configuration file list, and the application configuration file list includes the configuration files of each of the applications to be fed back.
15. 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 7 or 8 to 12.
16. 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 7 or 8 to 12.
17. 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 7 or 8 to 12.