Service level based generic terminal ims communication method and system
Patent Information
- Application Number
- CN202311069633.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-23
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2043-08-23
AI Technical Summary
In existing technologies, when general terminal devices communicate with IMS, the variety of device types and their varying capabilities leads to limitations in the negotiation mechanism, making it impossible to obtain optimal communication capabilities. This results in problems such as negotiation capability degradation, network quality deterioration, lengthy retransmission links, and terminal capability mismatch.
A service-based approach is adopted, which reconstructs communication signaling and media data through a preset service classification table, performs secondary capability negotiation and lightweight reconstruction, and optimizes network quality using a dynamic caching mechanism to ensure that both the calling and called ends obtain the best communication capabilities.
It enables communication capability negotiation between general terminal devices and the IMS communication system, solving problems such as negotiation capability degradation, network quality attenuation, redundant retransmission links, and terminal capability mismatch when general terminal devices communicate with IMS. It also improves the quality of audio and video communication.
Smart Images

Figure CN117041216B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data communication technology, and in particular to a service-based, multi-terminal IMS communication method and system. Background Technology
[0002] With the development of network technology and Internet of Things technology, terminals that can be equipped with audio and video communication capabilities are becoming more diverse. Various terminal devices, such as speakers, cameras, all-in-one machines, set-top boxes, desk lamps, and remote controls, can all serve as communication carriers, allowing users to access audio and video communication services with other devices anytime and anywhere, or to call VoLTE mobile phones or IMS landlines via the IMS (IP Multimedia Subsystem) core network.
[0003] Audio and video communication is a network quality-sensitive application. Network jitter, packet loss, and latency can all cause noticeable phenomena such as screen tearing, stuttering, and pixelation on the client side. However, with the expansion of device types and the increase in business scenarios, the requirements for media transmission services are also becoming increasingly stringent. Media transmission and media services are crucial for ensuring real-time audio and video communication. In existing technologies, when devices communicate with operators, the focus is on improving media service quality by selecting the nearest access node through network planning and optimizing the transmission path, without considering the differences in device access capabilities and the impact of transmission protocols. It relies on the quality of the planned path but fails to account for capability degradation and mismatch caused by inconsistent terminal protocols.
[0004] In fact, when general-purpose terminals communicate with IMS, these terminals often come from different manufacturers and are used in different scenarios. They are diverse in type, category, and capability, and access the network via WiFi, 4G, wired networks, etc. Their transmission quality often depends on the network application itself, such as FEC redundancy and NACK retransmission. The IMS core network, on the other hand, is a dedicated multimedia network that follows unified standards and specifications. It transmits media via SIP negotiation and RTP / RTCP, inherently possessing high quality. Basic protocol negotiation can achieve high quality to meet audio and video service requirements. However, its support for quality protocols is relatively limited; currently, only NACK retransmission is applicable, and it is not easily upgraded or expanded. Therefore, when general-purpose terminals communicate with IMS, the capabilities of both ends of the communication interaction device are limited by the negotiation capability mechanism, preventing them from obtaining the optimal capability set. Summary of the Invention
[0005] This invention provides a service-tiered, general-purpose terminal IMS communication method and system that enables both the calling and called ends to obtain optimal communication capabilities.
[0006] This invention provides a service-tiered, general-purpose terminal IMS communication method applied to a central server, comprising:
[0007] Obtain the initial communication signaling from the calling party;
[0008] The initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, which is then sent to the called party to negotiate communication capabilities. The negotiated communication capabilities include the called party's functional requirements. The preset service hierarchy table includes multiple zones, each with a different ID, and each zone is used to map a type of service. Each zone includes multiple domains, each with a different ID. Each domain is used to map a type of terminal and the capabilities of that terminal type. The preset service hierarchy table also includes multiple rule IDs, constructed based on the IDs of each zone and domain. Each rule ID is used to map an execution rule, which is used to preset execution descriptions and parameters for media data and communication signaling.
[0009] Obtain the initial media data from the calling party;
[0010] When the communication capabilities of the calling and called ends are different, the initial media data is reconstructed according to the negotiated communication capabilities and the preset service classification table to obtain reconstructed media data, and the reconstructed media data is sent to the called end.
[0011] Optionally, sending the reconstructed media data to the called party further includes:
[0012] The reconstructed media data is copied to obtain a copied data packet;
[0013] The copied data packets are stored in a cache list, which is an indexed table, and the index of the copied data packets is associated with the RTP sequence number.
[0014] Optionally, after storing the copied data packet to the cache list, the method further includes:
[0015] The integrity of the cache list is verified based on the RTP sequence number.
[0016] Optionally, the integrity of the cache list is verified based on the RTP sequence number, including:
[0017] If the copied data packet is missing, a packet loss request is sent to the called party.
[0018] Optionally, when the copied data packet is missing, after sending a packet loss request to the called party, the method further includes:
[0019] Receive lost packet data from the called party and store it in the cache list.
[0020] Optionally, the initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, including:
[0021] When it is determined that the calling end and the called end are calling the same type of service according to the preset service classification table, the session connection of the called end is determined.
[0022] Determine the port and address of the session connection;
[0023] The port of the initial communication signaling is modified to the port of the session connection, and the address of the initial communication signaling is modified to the address of the session connection to obtain the reconstructed communication signaling.
[0024] Optionally, the initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, including:
[0025] When it is determined from the preset service classification table that the calling end and the called end are calling different types of services, the session connection of the called end is determined.
[0026] Determine the port and address of the session connection;
[0027] The port of the initial communication signaling is modified to the port of the session connection, and the address of the initial communication signaling is modified to the address of the session connection to obtain the second communication command;
[0028] The functions to be executed by the called party are determined according to the preset service hierarchy table.
[0029] Modify the second communication instruction according to the function to be executed by the called end to obtain the re-established communication signaling.
[0030] Optionally, it also includes:
[0031] When the calling and called ends have the same communication capabilities, the initial media data is sent to the called end according to the negotiated communication capabilities.
[0032] This invention also provides a service-tiered, general-purpose terminal IMS communication system applied to a central server, comprising:
[0033] The communication signaling acquisition module is used to acquire the initial communication signaling of the calling party.
[0034] The communication signaling reconstruction module is used to reconstruct the initial communication signaling according to a preset service classification table to obtain reconstructed communication signaling, and send the reconstructed communication signaling to the called party to obtain negotiated communication capabilities; the negotiated communication capabilities include the functional requirements of the called party; the preset service classification table includes multiple zones, each zone has a different ID, and each zone is used to map a type of service; each zone includes multiple domains, each domain has a different ID; each domain is used to map a type of terminal and the capabilities of that terminal type; the preset service classification table also includes multiple rule IDs, which are constructed based on the IDs of each zone and each domain, and each rule ID is used to map an execution rule, which is used to preset execution descriptions and parameters for media data and communication signaling;
[0035] The media data acquisition module is used to acquire the initial media data from the calling party.
[0036] The media data reconstruction module is used to reconstruct the initial media data according to the negotiated communication capabilities and the preset service classification table when the communication capabilities of the calling end and the called end are different, to obtain reconstructed media data, and to send the reconstructed media data to the called end.
[0037] The present invention also includes an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the described service hierarchy-based general terminal IMS communication method.
[0038] The present invention provides a service-level-based general terminal IMS communication method and system, which obtains the initial communication signaling of the calling end; reconstructs the initial communication signaling according to a preset service-level table to obtain reconstructed communication signaling, and sends the reconstructed communication signaling to the called end to obtain negotiated communication capabilities; the negotiated communication capabilities include the functional requirements of the called end; the preset service-level table includes multiple zones, each with a different ID, and each zone is used to map a type of service; each zone includes multiple domains, each with a different ID; each domain is used to map a type of terminal and the capabilities of that terminal type; the preset service-level table also includes multiple rule IDs, which are constructed based on the IDs of each zone and each domain, and each rule ID is used to map an execution rule, which is used to preset execution descriptions and parameters for media data and communication signaling; obtains the initial media data of the calling end; when the communication capabilities of the calling end and the called end are different, the initial media data is reconstructed according to the negotiated communication capabilities and the preset service-level table to obtain reconstructed media data, and the reconstructed media data is sent to the called end. In other words, the present invention reconstructs the initial communication signaling through a preset service classification table, and when the communication capabilities of the calling end and the called end are different, it reconstructs the initial media data according to the negotiated communication capabilities and the preset service classification table, so that the communication capabilities of both the calling end and the called end are optimized. Attached Figure Description
[0039] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0040] Figure 1 This is a flowchart of the service-tiered general terminal IMS communication method provided by the present invention;
[0041] Figure 2 This is a schematic diagram of the relationships in the service hierarchy table provided by the present invention;
[0042] Figure 3 This is a flowchart of the secondary capability negotiation process provided by the present invention;
[0043] Figure 4 This is a flowchart of the lightweight media reconstruction process provided by the present invention;
[0044] Figure 5 This is a schematic diagram of the general terminal IMS communication method based on service hierarchy provided by the present invention.
[0045] Figure 6This is a block diagram of a service-based, general-purpose terminal IMS communication system provided by the present invention;
[0046] Figure 7 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation
[0047] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0048] Because the capabilities of both ends of the communication interaction device are limited by the negotiation capability mechanism when a general-purpose terminal communicates with IMS, if the optimal capability set cannot be obtained, the following problems will occur:
[0049] Negotiation capability degradation: Audio and video communication uses an offer / answer negotiation method to obtain media capabilities supported by both parties. This results in the negotiated capabilities being shared rather than optimal, leading to capability degradation after negotiation at the terminal side. For example, when a terminal supporting FEC redundancy and NACK protocol negotiation negotiates with the core network, the final result is that both parties use the NACK protocol, while the optimal capability for the terminal device is FEC.
[0050] Network quality degradation: Network transmission exhibits the "weakest link" effect, meaning its overall quality is limited by the worst segment of the transmission link. When high-quality media IMS networks communicate with a variety of terminal devices, the network quality at the terminal access side can degrade the overall communication quality, significantly diminishing the quality advantages of the IMS network.
[0051] Lengthy retransmission links: When packet loss occurs and retransmission happens, either the requesting end sends an RTCP protocol to the server, and the server forwards the RTCP retransmission request to the sending end. After parsing the RTCP, the sending end sends the required RTP and then forwards it to the terminal via the server, resulting in a lengthy link; or the media is cached at the access edge node, and a retransmission packet is requested from the edge node when packet loss occurs. This method requires caching a large amount of media, and when applied to the entire network, a large number of nodes need to be deployed, resulting in huge expenses.
[0052] Terminal capability mismatch: Ubiquitous terminal devices provide services for different domain scenarios, and their device capabilities, such as protocol support and network environment, are not the same. Even in the field of audio and video real-time communication, they can not only initiate communication with IMS, but also communicate with similar devices. In the negotiation process, customized service fields are also included. The understanding and processing flow of the protocol are different for each terminal, and some terminals may even be incompatible with certain fields. Therefore, traditional RTC back-to-back, proxy forwarding and other architecture methods are not suitable for ubiquitous terminal scenarios.
[0053] Therefore, this invention proposes a service-level-based IMS communication method and system for general-purpose terminals. Based on a preset service-level table, the system classifies devices and communications capabilities, assigning different capability attributes. According to the service-level table settings, secondary capability negotiation is performed by modifying the QoS (Quality of Service) parameters in the SDP of both signaling communication parties to ensure optimal capability negotiation for both ends. For mismatched media protocols, the media server at the central server performs lightweight reconstruction to meet protocol format requirements. A dynamic cache is established for each call based on its packet loss rate, and the central server requests lost media packets, thereby reducing end-to-end latency and eliminating the impact of adverse results. By utilizing the dynamic caching mechanism, the quality capabilities of each network segment are optimized, thus solving problems related to communication negotiation and media quality in general-purpose IMS communication.
[0054] The following is combined Figures 1-7 This invention describes a service-based, general-purpose terminal IMS communication method and system.
[0055] like Figure 1 As shown, a service-tiered, general-purpose terminal IMS communication method, applied to a central server, includes:
[0056] Step 101: Obtain the initial communication signaling of the calling end.
[0057] Step 102: Reconstruct the initial communication signaling according to the preset service hierarchy table to obtain reconstructed communication signaling, and send the reconstructed communication signaling to the called party to obtain negotiated communication capabilities; the negotiated communication capabilities include the functional requirements of the called party; the preset service hierarchy table includes multiple zones, each zone has a different ID, and each zone is used to map a type of service; each zone includes multiple domains, each domain has a different ID; each domain is used to map a type of terminal and the capabilities of the terminal type; the preset service hierarchy table also includes multiple rule IDs, which are constructed based on the IDs of each zone and each domain, and each rule ID is used to map an execution rule, which is used to preset the execution description and parameters for media data and communication signaling.
[0058] In one specific embodiment, the service classification table of the present invention is an important basis for communication service capability control and quality adjustment. The classification level in the classification table is not equivalent to the actual quality level. It is a rough assessment based on the environment (corresponding to the area) and the services carried by the communication terminal (corresponding to the domain).
[0059] Specifically, the instances corresponding to zones include: IMS service zones, OTT (Over-The-Top, providing various application services to users via the Internet) service zones, and private cloud service zones, etc. Each zone can be considered a type of SBC, a type of gateway, etc., with significant differences in quality and capabilities. Each zone contains different types of devices, corresponding to domains, representing different terminal types executing the service, often differing in hardware, system, and other parameters. Through the definition of zones and domains, we have established a capability definition for a type of service to be executed by a type of device.
[0060] Rule IDs are established based on area identifiers (area IDs) and domain identifiers (domain IDs). A rule D is mapped to a rule instance. The rule contains pre-defined execution descriptions and parameters for media data and communication signaling. These executions are triggered at different stages.
[0061] In a specific embodiment, the relationship between regions and domains in the service hierarchy table is as follows: Figure 2 As shown, where:
[0062] Explanation of the structural definition of the region:
[0063] The zone ID is used to represent the ID corresponding to that zone. It is represented by an integer and is used to distinguish it from other zones.
[0064] This area also includes the set of supported capabilities, such as audio and video capability formats in media (PCMA / AMR-WB / H264, etc.), transmission capabilities (UDP / RTP / TLS / SRT, etc.), and QoS capabilities (such as NACK / FEC).
[0065] Domain structure definition description:
[0066] The domain ID is used to represent the ID corresponding to the domain. It is represented by an integer and is used to distinguish it from other domains.
[0067] This domain also includes the supported feature set, such as custom fields and system parameters associated with this type of device.
[0068] Rule structure definition explanation:
[0069] The rule ID is used to represent the ID corresponding to the rule. It is represented by an integer and directly corresponds to specific rules for a certain type of device. The mapping relationship between the rule ID and the area ID and domain ID is as follows:
[0070] Rule ID = 10000 * Zone ID + 100 * Domain ID
[0071] The rules include media rules, which are actions or parameters related to the media stream, such as media buffer queue parameters, FEC dynamic redundancy capability, bandwidth estimation algorithms, etc.
[0072] The rules also include protocol rules, which define the actions for SIP header fields or SDP to enter, remain, and leave the current rule ID object. Generally, the purpose of performing these actions is to ensure that the incoming data matches the capabilities described in the capability set of the zone and domain corresponding to the current rule ID; and descriptions of SDP content, such as supported fields and prohibited fields.
[0073] It should be noted that the service classification table in this invention is a custom data method, and can also be made into binary private format data.
[0074] Based on the aforementioned service hierarchy table, when communication signaling or media data needs to be sent from one terminal to another, for the execution on the central server, this is equivalent to first passing the parameters from the receiving terminal's session (note: a session describes a stateful connection established between the call center and a terminal during a call; it can be defined in the program using objects / structures, etc.) to the sending terminal's session, where the sending terminal processes and then sends the data. During this process, the signaling or data undergoes entry, processing within the object, and transmission, triggering predefined behaviors on the rule ID corresponding to the object's capabilities. This involves performing checks and modifications on the signaling and data, such as adding media types to the SDP capability set, adding FEC negotiation, and removing protocol-incompatible fields, thereby ensuring that the capabilities expressed by the incoming data match the current object's capability requirements.
[0075] In one specific embodiment, the initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, including:
[0076] When it is determined that the calling end and the called end are calling the same type of service according to the preset service classification table, the session connection of the called end is determined.
[0077] Determine the port and address of the session connection;
[0078] The port of the initial communication signaling is modified to the port of the session connection, and the address of the initial communication signaling is modified to the address of the session connection to obtain the reconstructed communication signaling.
[0079] In one specific embodiment, the initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, including:
[0080] When it is determined from the preset service classification table that the calling end and the called end are calling different types of services, the session connection of the called end is determined.
[0081] Determine the port and address of the session connection;
[0082] The port of the initial communication signaling is modified to the port of the session connection, and the address of the initial communication signaling is modified to the address of the session connection to obtain the second communication command;
[0083] The functions to be executed by the called party are determined according to the preset service hierarchy table.
[0084] Modify the second communication instruction according to the function to be executed by the called end to obtain the re-established communication signaling.
[0085] In a specific embodiment, the initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, and then sent to the called end to negotiate communication capabilities. This process is the secondary capability negotiation process. Since general-purpose terminal devices come from multiple vendors, their languages, architectures, and understandings of interfacing capabilities are inconsistent. They often define private fields in SDP and SIP headers to enable certain services, enabling customized service implementations between vendor-owned devices. Therefore, it is often required that the format content received by the server from one end remains largely unchanged before routing to another similar terminal. However, IMS uses standardized format definitions and has strict requirements on the signaling content sent to the IMS domain. Some custom fields may cause communication negotiation failures. This leads to differentiated communication capability requirements for different terminals and services. Therefore, this invention adopts a secondary capability negotiation approach, making lightweight modifications to the original SDP to maintain consistency as much as possible. Simultaneously, it utilizes protocol rules defined in the service hierarchy table to address the differences in capability requirements of different services, ensuring that both ends of the communication interaction can obtain the optimal capability negotiation supported by them.
[0086] In one specific embodiment, the secondary capability negotiation process is as follows: Figure 3As shown, when A is the calling end, B is the called end; conversely, since communication is reciprocal, when B is the calling end, A is the called end. Specifically, when A is the calling end, the call center of the central server receives the SDP of the calling end A, denoted as A-SDP. First, it searches for the device type of the calling and backup numbers based on the calling and backup numbers, and determines whether the calling and backup types have the same rule ID. If the rule IDs are the same, it indicates that they are calls of the same type of service. It then searches for the session established between the service and the called end B (Note: a session describes a stateful connection established between the call center and a terminal call, which can be defined in the program using objects / structures, etc.), triggers A-SDP to obtain A'-SDP, and uses A'-SDP as the initial sending SDP of B-session, only modifying the address and port in A-SDP to the port and address of B-session before sending it to the called end B.
[0087] If the rule IDs are different, indicating a change in the calling and called party hierarchy, the communication signaling needs to transition from one type of terminal to the terminal corresponding to a different rule ID. In this case, A-SDP still needs to be triggered to obtain A'-SDP, which is then used as the initial SDP value for B-session. The port and IP descriptions in A'-SDP are modified to their corresponding values in B-session. Next, the rule corresponding to the called party B's rule ID is searched, and the predefined actions within it are triggered to modify the A'-SDP content, resulting in a modified SDP. This modified SDP ultimately conforms to the capability set support requirements of the area and domain corresponding to the called party B's rule ID. The modified SDP is then sent from the call center to the called party B for communication capability negotiation. Because the modified SDP includes the capability set requirements for the called party B, the final negotiation result is altered, achieving the desired optimal negotiation outcome.
[0088] Step 103: Obtain the initial media data from the calling end.
[0089] Step 104: When the communication capabilities of the calling end and the called end are different, the initial media data is reconstructed according to the negotiated communication capabilities and the preset service classification table to obtain reconstructed media data, and the reconstructed media data is sent to the called end.
[0090] In one specific embodiment, when the calling end and the called end have the same communication capabilities, the initial media data is sent to the called end according to the negotiated communication capabilities. That is, when there is no capability migration between the calling end and the called end, media data can be sent directly according to the negotiated communication capabilities, thereby improving communication efficiency.
[0091] In a specific embodiment, the process of obtaining reconstructed media data is a lightweight media reconstruction process. The final result obtained through hierarchical negotiation is called representation negotiation. During the communication negotiation process between the calling end A and the called end B, the SDP received by A and B may be the result of hierarchical changes. While it's possible to negotiate the optimal support capability with A and B respectively, this also "exaggerates" the actual capability. The media data or protocol sent by the calling end A according to the negotiation may not actually be supported by the called end B. Therefore, reconstruction and conversion operations need to be performed on the central server to ensure the consistency between the optimal negotiation and the final data.
[0092] In one specific embodiment, lightweight media reconstruction includes the following:
[0093] Content format reconstruction: conversion of media types supported by the media service, such as PCMA / OPUS / MP3 conversion.
[0094] Transmission format reconstruction: such as RTP to SRTP, RTP to NACK format.
[0095] Parameter reconstruction: such as the reconstruction of SR and RR content in RTCP.
[0096] When processing media streams, the media service in the central server first determines whether the rule ID negotiation between the calling and called ends has resulted in capability migration, and checks whether there is any deviation between the negotiated data and the actual received or sent data.
[0097] If a discrepancy exists, the media format is reconstructed in a lightweight manner according to the negotiated capability requirements and the capabilities, formats, parameters, etc., defined in the media rules of the migrated rule ID. This results in reconstructed media data that meets the representation capability requirements for external negotiation, and the reconstructed media data is forwarded to the peer. If there is no discrepancy, the data is sent directly to the peer. Through this execution process, this invention bridges the gap between actual capability and representation capability on the media server side of the central server, ensuring that each segment of the communication capability achieves the optimal format quality suitable for its application environment.
[0098] In one specific embodiment, sending the reconstructed media data to the called party further includes:
[0099] The reconstructed media data is copied to obtain a copied data packet;
[0100] The copied data packets are stored in a cache list, which is an indexed table, and the index of the copied data packets is associated with the RTP sequence number.
[0101] Accordingly, when processing media streams, the media service in the central server determines whether capability migration has occurred during the negotiation of rule IDs between the calling and called ends, and checks for discrepancies between the negotiated data and the actual received or sent data. If no discrepancy exists, the received data is forwarded to the other end, and a copy of the data packet is added to the cache list or updated program status. If a discrepancy exists, the data is reconstructed according to the negotiated capability requirements and the capabilities, formats, parameters, etc., defined in the media rules of the migrated rule ID. The reconstructed media data is then forwarded to the other end, and a copy of the data packet is added to the content cache list or updated program status. The specific process is as follows: Figure 4 As shown.
[0102] In one specific embodiment, after storing the copied data packet to the cache list, the method further includes:
[0103] The integrity of the cache list is verified based on the RTP sequence number.
[0104] In one specific embodiment, verifying the integrity of the cache list based on the RTP sequence number includes:
[0105] If the copied data packet is missing, a packet loss request is sent to the called party.
[0106] In one specific embodiment, after sending a packet loss request to the called party when the copied data packet is missing, the method further includes:
[0107] Receive lost packet data from the called party and store it in the cache list.
[0108] The above describes the process of implementing dynamic cache verification. The purpose of this is to reduce network detours during media packet loss requests. This patent utilizes the dynamic cache verification mechanism to handle packet loss retransmission and other services under different states, significantly shortening the processing path and improving data recovery efficiency.
[0109] In a specific embodiment, the central server will establish a content cache list for each end (when A is the calling end, a cache list is established for A; when B is the calling end, a cache list is established for B). Because the packet loss rate, latency, dynamic redundancy, etc. of devices are different in different environments, the length and other parameters of the cache list are established by the parameters in the media rules.
[0110] This cache list uses an indexed table format, where the index of the inserted data is associated with the RTP sequence number. Each time data is inserted, the actual data length, nominal data length, maximum sequence number, minimum sequence number, and unobtained sequence columns in the current cache list are updated.
[0111] The length of this queue is related to functions such as packet loss rate and packet loss latency, and its parameter values are defined by parameters in the media rules. Data exceeding the length will be released promptly to maintain the data cache list adapted to the current quality environment. The length of the cache list is a function related to packet loss rate and latency.
[0112] In one specific embodiment, dynamic cache checking involves, after a certain statistical interval, if there are still unobtained data sequences, the media server will send a packet loss request to the peer in advance to promptly request the missing data packets. Therefore, the data in this cache queue can be considered complete and continuous. When the media server on the central server receives a packet loss request, it will check whether there is requested data in the cache queue and respond accordingly.
[0113] In summary, the overall principle architecture of this invention is as follows: Figure 5 As shown, this invention predefines a service hierarchy table, which includes two main parts: service partitions and execution rules. The partition table can contain multiple domains, each partition mapping to a type of service or business, such as IMS or OTT, and each domain mapping to a type of terminal and its capabilities. The execution rules define rules for entering, staying, and leaving the partition. These rules are used to execute actions such as communication signaling or media modification. The capabilities after rule execution serve as the representation capabilities of the call. Then, communication negotiation is conducted with the peer using the representation capabilities. The communication signaling responded by the peer also undergoes the above process, thereby ensuring that the set of communication representation capabilities evenly covers the optimal capabilities, solving the problems of negotiation degradation and capability mismatch.
[0114] Furthermore, based on the media rules defined in the service hierarchy table, the media server checks the gap between the represented capability and the actual capability, eliminates the gap through a lightweight media reconstruction operation, and sends the reconstructed media stream to the other end, thus solving the quality degradation problem.
[0115] In addition, during the reconstruction process, the media service establishes a dynamic cache queue based on the domain capability description in the service hierarchy table, copies and saves media information for a period of time, checks the integrity of the media packets, and actively initiates retransmission requests to the peer. For the received retransmission requests, it directly searches the cache queue to see if the request packet exists, thereby greatly reducing the detour of the link and improving retransmission response and efficiency.
[0116] The present invention also discloses the following technical effects:
[0117] This invention defines a service hierarchy table, which is used to negotiate communication capabilities. The original negotiated capability set is modified, and the optimal capability is negotiated under different environments to establish the best application state, thereby obtaining the optimal negotiation capability and improving communication quality.
[0118] This invention uses a secondary capability negotiation method, which can retain the necessary content in the original SDP and modify it according to the capability requirements of different terminals, thus having high flexibility and adaptability.
[0119] This invention utilizes lightweight media reconstruction technology to reconstruct and transmit media-related content under different circumstances, solving the data discrepancy between representation capabilities and actual capabilities, effectively addressing the mismatch between capabilities of different segments, and possessing greater flexibility and efficiency, meeting the capability requirements of various terminals.
[0120] This invention proposes a dynamic caching mechanism based on a service hierarchy table, which effectively reduces packet loss and retransmission link detours, improves link transmission quality, enables terminals to maintain a high level of communication under different communication capability environments, and effectively solves problems such as capability attenuation.
[0121] This invention establishes different cache lists for different calling terminals, which has strong adaptability and can effectively adapt to various terminal devices.
[0122] Based on the service hierarchy table, this invention effectively solves problems such as capability degradation, quality attenuation, capability mismatch, and link redundancy when general terminals communicate with IMS in real time through technologies such as secondary capability negotiation, lightweight media reconstruction, and dynamic cache verification, thereby greatly improving the quality of audio and video.
[0123] The following describes the service-based general-purpose terminal IMS communication system provided by the present invention. The service-based general-purpose terminal IMS communication system described below can be referred to in correspondence with the service-based general-purpose terminal IMS communication method described above.
[0124] like Figure 6 As shown, a service-tiered, general-purpose terminal IMS communication system, applied to a central server, includes:
[0125] The communication signaling acquisition module 601 is used to acquire the initial communication signaling of the calling party.
[0126] The communication signaling reconstruction module 602 is used to reconstruct the initial communication signaling according to a preset service hierarchy table to obtain reconstructed communication signaling, and send the reconstructed communication signaling to the called party to obtain negotiated communication capabilities; the negotiated communication capabilities include the functional requirements of the called party; the preset service hierarchy table includes multiple zones, each zone has a different ID, and each zone is used to map a type of service; each zone includes multiple domains, each domain has a different ID; each domain is used to map a type of terminal and the capabilities of the terminal type; the preset service hierarchy table also includes multiple rule IDs, which are constructed based on the IDs of each zone and each domain, and each rule ID is used to map an execution rule, which is used to preset execution descriptions and parameters for media data and communication signaling.
[0127] The media data acquisition module 603 is used to acquire the initial media data of the calling party.
[0128] The media data reconstruction module 604 is used to reconstruct the initial media data according to the negotiated communication capabilities and the preset service classification table when the communication capabilities of the calling end and the called end are different, to obtain reconstructed media data, and to send the reconstructed media data to the called end.
[0129] In one specific embodiment, the media data reconstruction module 604 is further configured to:
[0130] The reconstructed media data is copied to obtain a copied data packet;
[0131] The copied data packets are stored in a cache list, which is an indexed table, and the index of the copied data packets is associated with the RTP sequence number.
[0132] In one specific embodiment, after storing the copied data packet to the cache list, the method further includes:
[0133] The integrity of the cache list is verified based on the RTP sequence number.
[0134] In one specific embodiment, verifying the integrity of the cache list based on the RTP sequence number includes:
[0135] If the copied data packet is missing, a packet loss request is sent to the called party.
[0136] In one specific embodiment, after sending a packet loss request to the called party when the copied data packet is missing, the method further includes:
[0137] Receive lost packet data from the called party and store it in the cache list.
[0138] In one specific embodiment, the communication signaling reconstruction module 602 is specifically used for:
[0139] When it is determined that the calling end and the called end are calling the same type of service according to the preset service classification table, the session connection of the called end is determined.
[0140] Determine the port and address of the session connection;
[0141] The port of the initial communication signaling is modified to the port of the session connection, and the address of the initial communication signaling is modified to the address of the session connection to obtain the reconstructed communication signaling.
[0142] In one specific embodiment, the communication signaling reconstruction module 602 is specifically used for:
[0143] When it is determined from the preset service classification table that the calling end and the called end are calling different types of services, the session connection of the called end is determined.
[0144] Determine the port and address of the session connection;
[0145] The port of the initial communication signaling is modified to the port of the session connection, and the address of the initial communication signaling is modified to the address of the session connection to obtain the second communication command;
[0146] The functions to be executed by the called party are determined according to the preset service hierarchy table.
[0147] Modify the second communication instruction according to the function to be executed by the called end to obtain the re-established communication signaling.
[0148] In one specific embodiment, it also includes:
[0149] When the calling and called ends have the same communication capabilities, the initial media data is sent to the called end according to the negotiated communication capabilities.
[0150] Figure 7 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 7 As shown, the electronic device may include: a processor 710, a communications interface 720, a memory 730, and a communication bus 740, wherein the processor 710, the communications interface 720, and the memory 730 communicate with each other via the communication bus 740. The processor 710 can call logical instructions in the memory 730 to execute a service-level-based general-purpose terminal IMS communication method, which includes:
[0151] Obtain the initial communication signaling from the calling party.
[0152] The initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, which is then sent to the called party to negotiate communication capabilities. These negotiated capabilities include the called party's functional requirements. The preset service hierarchy table includes multiple zones, each with a different ID, and each zone is used to map a type of service. Each zone includes multiple domains, each with a different ID. Each domain is used to map a type of terminal and the capabilities of that terminal type. The preset service hierarchy table also includes multiple rule IDs, constructed based on the IDs of each zone and domain. Each rule ID maps to an execution rule, which is used to preset execution descriptions and parameters for media data and communication signaling.
[0153] Obtain the initial media data from the calling party.
[0154] When the communication capabilities of the calling and called ends are different, the initial media data is reconstructed according to the negotiated communication capabilities and the preset service classification table to obtain reconstructed media data, and the reconstructed media data is sent to the called end.
[0155] Furthermore, the logical instructions in the aforementioned memory 730 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, essentially, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0156] On the other hand, the present invention also provides a computer program product, the computer program product comprising a computer program that can be stored on a non-transitory computer-readable storage medium, wherein when the computer program is executed by a processor, the computer is able to execute a service-based general-purpose terminal IMS communication method, the method comprising:
[0157] Obtain the initial communication signaling from the calling party.
[0158] The initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, which is then sent to the called party to negotiate communication capabilities. These negotiated capabilities include the called party's functional requirements. The preset service hierarchy table includes multiple zones, each with a different ID, and each zone is used to map a type of service. Each zone includes multiple domains, each with a different ID. Each domain is used to map a type of terminal and the capabilities of that terminal type. The preset service hierarchy table also includes multiple rule IDs, constructed based on the IDs of each zone and domain. Each rule ID maps to an execution rule, which is used to preset execution descriptions and parameters for media data and communication signaling.
[0159] Obtain the initial media data from the calling party.
[0160] When the communication capabilities of the calling and called ends are different, the initial media data is reconstructed according to the negotiated communication capabilities and the preset service classification table to obtain reconstructed media data, and the reconstructed media data is sent to the called end.
[0161] In another aspect, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to perform a service-tiered general-purpose terminal IMS communication method, the method comprising:
[0162] Obtain the initial communication signaling from the calling party.
[0163] The initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, which is then sent to the called party to negotiate communication capabilities. These negotiated capabilities include the called party's functional requirements. The preset service hierarchy table includes multiple zones, each with a different ID, and each zone is used to map a type of service. Each zone includes multiple domains, each with a different ID. Each domain is used to map a type of terminal and the capabilities of that terminal type. The preset service hierarchy table also includes multiple rule IDs, constructed based on the IDs of each zone and domain. Each rule ID maps to an execution rule, which is used to preset execution descriptions and parameters for media data and communication signaling.
[0164] Obtain the initial media data from the calling party.
[0165] When the communication capabilities of the calling and called ends are different, the initial media data is reconstructed according to the negotiated communication capabilities and the preset service classification table to obtain reconstructed media data, and the reconstructed media data is sent to the called end.
[0166] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0167] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0168] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A service-tiered, general-purpose terminal IMS communication method, applied to a central server, characterized in that, include: Obtain the initial communication signaling from the calling party; The initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, which is then sent to the called party to negotiate communication capabilities. The negotiated communication capabilities include the called party's functional requirements. The preset service hierarchy table includes multiple zones, each with a different ID, and each zone is used to map a type of service. Each zone includes multiple domains, each with a different ID. Each domain is used to map a type of terminal and the capabilities of that terminal type. The preset service hierarchy table also includes multiple rule IDs, constructed based on the IDs of each zone and domain. Each rule ID is used to map an execution rule, which is used to preset execution descriptions and parameters for media data and communication signaling. Obtain the initial media data from the calling party; When the communication capabilities of the calling end and the called end are different, the initial media data is reconstructed according to the negotiated communication capabilities and the preset service classification table to obtain reconstructed media data, and the reconstructed media data is sent to the called end. Sending the reconstructed media data to the called party also includes: The reconstructed media data is copied to obtain a copied data packet; The copied data packets are stored in a cache list, which is an indexed table, and the index of the copied data packets is associated with the RTP sequence number; wherein, the length of the cache list is a function related to the packet loss rate and latency.
2. The service-tiered, general-purpose terminal IMS communication method according to claim 1, characterized in that, After storing the copied data packet in the cache list, the process also includes: The integrity of the cache list is verified based on the RTP sequence number.
3. The service-tiered, general-purpose terminal IMS communication method according to claim 2, characterized in that, The integrity of the cache list is verified based on the RTP sequence number, including: If the copied data packet is missing, a packet loss request is sent to the called party.
4. The service-tiered, general-purpose terminal IMS communication method according to claim 3, characterized in that, When the copied data packet is missing, after sending a packet loss request to the called party, the process further includes: Receive lost packet data from the called party and store it in the cache list.
5. The service-tiered general-purpose terminal IMS communication method according to any one of claims 1-4, characterized in that, The initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, including: When it is determined that the calling end and the called end are calling the same type of service according to the preset service classification table, the session connection of the called end is determined. Determine the port and address of the session connection; The port of the initial communication signaling is modified to the port of the session connection, and the address of the initial communication signaling is modified to the address of the session connection to obtain the reconstructed communication signaling.
6. The service-tiered general-purpose terminal IMS communication method according to any one of claims 1-4, characterized in that, The initial communication signaling is reconstructed according to a preset service hierarchy table to obtain reconstructed communication signaling, including: When it is determined from the preset service classification table that the calling end and the called end are calling different types of services, the session connection of the called end is determined. Determine the port and address of the session connection; The port of the initial communication signaling is modified to the port of the session connection, and the address of the initial communication signaling is modified to the address of the session connection to obtain the second communication command; The functions to be executed by the called party are determined according to the preset service hierarchy table. Modify the second communication instruction according to the function to be executed by the called end to obtain the re-established communication signaling.
7. The service-tiered, general-purpose terminal IMS communication method according to claim 1, characterized in that, Also includes: When the calling and called ends have the same communication capabilities, the initial media data is sent to the called end according to the negotiated communication capabilities.
8. A service-tiered, general-purpose terminal IMS communication system, applied to a central server, characterized in that, include: The communication signaling acquisition module is used to acquire the initial communication signaling of the calling party. The communication signaling reconstruction module is used to reconstruct the initial communication signaling according to a preset service classification table to obtain reconstructed communication signaling, and send the reconstructed communication signaling to the called party to obtain negotiated communication capabilities; the negotiated communication capabilities include the functional requirements of the called party; the preset service classification table includes multiple zones, each zone has a different ID, and each zone is used to map a type of service; each zone includes multiple domains, each domain has a different ID; each domain is used to map a type of terminal and the capabilities of that terminal type; the preset service classification table also includes multiple rule IDs, which are constructed based on the IDs of each zone and each domain, and each rule ID is used to map an execution rule, which is used to preset execution descriptions and parameters for media data and communication signaling; The media data acquisition module is used to acquire the initial media data from the calling party. The media data reconstruction module is used to reconstruct the initial media data according to the negotiated communication capabilities and the preset service classification table when the communication capabilities of the calling end and the called end are different, to obtain reconstructed media data, and to send the reconstructed media data to the called end. Sending the reconstructed media data to the called party also includes: The reconstructed media data is copied to obtain a copied data packet; The copied data packets are stored in a cache list, which is an indexed table, and the index of the copied data packets is associated with the RTP sequence number; wherein, the length of the cache list is a function related to the packet loss rate and latency.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the service-based general terminal IMS communication method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Network and method for operating session ability information
CN1984135A
