CN101567853B - Audio frequency media package-transmitting controller, method and audio frequency media server - Google Patents
Audio frequency media package-transmitting controller, method and audio frequency media server Download PDFInfo
- Publication number
- CN101567853B CN101567853B CN2009101429225A CN200910142922A CN101567853B CN 101567853 B CN101567853 B CN 101567853B CN 2009101429225 A CN2009101429225 A CN 2009101429225A CN 200910142922 A CN200910142922 A CN 200910142922A CN 101567853 B CN101567853 B CN 101567853B
- Authority
- CN
- China
- Prior art keywords
- media
- sending
- time
- pointer array
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012856 packing Methods 0.000 claims abstract description 25
- 230000005540 biological transmission Effects 0.000 claims abstract description 22
- 230000003111 delayed effect Effects 0.000 claims abstract 3
- 238000012545 processing Methods 0.000 claims description 97
- 230000006870 function Effects 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 21
- 230000011664 signaling Effects 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 claims description 18
- 230000003993 interaction Effects 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 101100438245 Solanum tuberosum PCM8 gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005243 fluidization Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009131 signaling function Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention provides an audio frequency media package-transmitting controller, which includes a prediction package-transmitting controlling module and a time management package-transmitting controlling module, wherein, the prediction package-transmitting controlling module is used for determining prediction transmission time of media message to be transmitted, and hitching the media message on alist which is indicated by pointer array element corresponding to the prediction transmission time; the time management package-transmitting controlling module is used for sequentially reading media message on the list indicated by the pointer array element according to a pointer array element index, and transmitting the media message in the prediction transmission time; if the list indicated by the pointer array element has no media message, time is delayed to a prediction transmission time of the pointer array element. The audio frequency media package-transmitting controller, a method and an audio frequency media server can improve packing interval precision of the media message.
Description
Technical Field
The invention belongs to the network communication technology in the field of computer application, and particularly relates to an audio media package sending control device and method based on Linux/vxworks and an audio media server.
Background
A media server is an important device in a Next Generation Network (NGN), and its location in the NGN Network is as shown in fig. 1. The media processing system in the existing audio media server relates to key technologies of analyzing and streaming a large amount of data, accurately controlling a packing interval and the like. For these key technologies, currently, the media processing system of the media server in the industry mainly uses two ways: hardware mode-dedicated DSP (Digital signal Processing) and software mode-HMP (Host Media Processing) technologies. They have the disadvantages that: hardware approaches are costly, software approaches are less expensive, but have a lower capacity, which in turn results in a lower performance for accurate control of the streaming and packetization intervals once capacity is increased. The special DSP technology is used for processing media data through a specific algorithm in a special chip, generally, the special DSP chip is high in media processing capacity, the channel density is large, namely, the capacity is large, and if the price of each channel is fixed, the higher the channel density is, the higher the cost is; while the HMP technology is the development direction of future media servers, compared with a proprietary DSP, the host media processing capability is general, so that the packing accuracy control is significantly reduced under the condition of large capacity, and the large capacity and the packing accuracy become the bottleneck of the development.
Disclosure of Invention
The technical problem to be solved by the invention is to provide an audio media packet sending control device, an audio media packet sending control method and an audio media server, and to improve the media message packet packing interval precision.
In order to solve the above technical problems, the present invention provides an audio media packetization control apparatus, which includes a pre-packetization control module and a time management packetization control module, wherein,
the estimated sending control module is used for determining the estimated sending time of the media message to be sent and is also used for hanging the media message on a linked list pointed by a pointer array element corresponding to the estimated sending time;
the time management packet sending control module is used for sequentially reading the media messages on the linked list pointed by the pointer array elements according to the pointer array element indexes and sending the media messages at the estimated sending time; and if the linked list pointed by the pointer array element does not have the media message, delaying the expected sending time of the pointer array element.
Further, the air conditioner is provided with a fan,
the estimated transmission time of the media message is determined as follows: reading the predicted sending time of the current pointer array element being processed by the time management packet sending control module; and adding a certain time margin on the basis of the read predicted sending time as the predicted sending time of the media message so as to ensure that the time management packet sending module browses the media message which is hung on the corresponding pointer array element.
Further, the air conditioner is provided with a fan,
the index of the pointer array element and the predicted sending time of the media message on the linked list pointed by the pointer array element have a sequential corresponding relation, and the predicted sending time interval of the adjacent pointer array elements is fixed.
The predicted packet sending control module and the time management packet sending control module are realized by adopting a multithreading processing technology.
In order to solve the above technical problem, the present invention further provides a media packet sending control method, including:
determining the predicted sending time of a media message to be sent and hanging the media message on a linked list pointed by a pointer array element corresponding to the predicted sending time;
a sending step, which is to read the media messages on the linked list pointed by the pointer array elements in sequence according to the pointer array element indexes and send the media messages at the estimated sending time; if the linked list pointed by the pointer array element has no media message, delaying to the predicted sending time of the element.
Further, the air conditioner is provided with a fan,
the hooking step is realized by a plurality of expected packet sending threads, each thread browses the channel responsible for the thread, and when a certain channel is found to require to send a media message, the following steps are executed:
a: reading an index and a predicted sending time, foresndtime, of a current pointer array element currently being processed in a time management packet sending control thread;
b: determining hitching index nextpkt _ tindex and expected sending time nextpkt _ forendtime of the first media message to be sent, wherein,
nextpkt _ tindex is (index + n)% of the number of elements of the pointer array;
nextpkt _ forcedstime ═ forcedstime + n ═ time interval represented by each pointer array index; wherein n is a preset index margin to ensure that the time management packet sending control thread browses the media message which is hung on the corresponding pointer array element;
c: determining hitching indexes nextpkt _ tindex and predicted sending time nextpkt _ fortrendtime of subsequent media messages until all the media messages are processed, wherein:
nextpkt _ index ═ nextpkt _ index + (packing interval/time interval represented by each index)% (number of elements of pointer array), where the packing interval is an integer multiple of the time interval represented by each index;
nextpkt _ forcendtime ═ nextpkt _ forcendtime + (packing interval).
The sending step is realized by a plurality of time management packet sending control threads, and each time management packet sending control thread circularly executes the following steps:
a: browsing whether a linked list of the current index of the pointer array has a media message to be sent, if so, reading the media message, and transmitting the address and load information of the media message and the estimated sending time parameter of the batch of media messages to a sendmsg function; the sendmsg function sends the batch of media messages out in batch at the expected sending time, and then returns the batch of media messages at the expected sending time;
if the media message is not to be sent on the linked list of the current index, the time management packet sending control thread calls a delay function DelayTime to delay to the predicted sending time of the linked list of the current index;
b: updating the current index and the predicted sending time of the media message on the linked list of the current index, wherein,
current index: index ═ (Index + 1)% (maximum number of elements in the pointer array);
predicted transmission time corresponding to the current index: forendstim + (10ms) for the time interval each index represents.
Further, the air conditioner is provided with a fan,
in the hanging-up step, adding 1 to a media message counter corresponding to a linked list structure every time a media message is hung; and the time management control thread determines whether the linked list of the current index has the media message to be sent or not according to the media message counter.
In order to solve the above technical problem, the present invention further provides an audio media server, which comprises the audio media packet sending control device, the device comprises a pre-sending control module and a time management packet sending control module, wherein,
the estimated sending control module is used for determining the estimated sending time of the media message to be sent and is also used for hanging the media message on a linked list pointed by a pointer array element corresponding to the estimated sending time;
the time management packet sending control module is used for sequentially reading the media messages on the linked list pointed by the pointer array elements according to the pointer array element indexes and sending the media messages at the estimated sending time; if the linked list pointed by the pointer array element has no media message, delaying to the predicted sending time of the element.
Further, the air conditioner is provided with a fan,
the estimated transmission time of the media message is determined as follows: reading the estimated sending time of the pointer array element being processed by the time management packet sending control module; and adding a certain time margin on the basis of the read predicted sending time as the predicted sending time of the media message so as to ensure that the time management packet sending module browses the media message which is hung on the corresponding pointer array element.
Furthermore, the audio media server also comprises a signaling forwarding unit, a main control unit and a media storing and forwarding unit, wherein,
the signaling forwarding unit: the method is used for realizing the uniform forwarding of the internal and external signaling of the server;
the main control unit: the control unit is used for receiving and analyzing the control signaling forwarded by the signaling forwarding unit to generate a corresponding control message to control the media storage forwarding unit;
the media storing and forwarding unit is provided with an external network port and used for realizing recording and voice playing functions according to the control message sent by the main control unit, wherein the audio media packet sending control device realizes the packet sending control of the media message.
Further, various operations realized by the media store-and-forward unit are realized by adopting a multithreading processing technology.
Furthermore, the audio media server also comprises a media processing unit, the media processing unit comprises a call agent module, a number receiving and sending module and a conference processing module, wherein,
the call agent module is used for realizing the interaction of the control messages between the main control unit and the media processing unit, informing the number receiving and sending module to process if the control messages are number receiving and sending messages, and informing the conference processing module to process if the control messages are transcoding or conference messages;
the number receiving and sending module is used for setting the number receiver resources and identifying the validity of the valid number in the media stream; the system is also used for generating numbers according to the control message of the main control unit;
a conference processing module for processing media streams from each participant, synthesizing input speech frames of different participants together as a mixed speech frame, and filtering the input speech frame of the participant from the mixed speech frame;
the main control unit is also used for generating a control message to the media processing unit;
the media storing and forwarding unit is also used for converting the destination address of the media message containing the multi-tone dual-frequency DTMF number into the address corresponding to the transceiver channel.
Compared with the prior art, the packet sending control device and method provided by the invention can realize accurate and effective control on the media message pointer array mounting index and the predicted sending time by using the method of managing the pointer array with the time information by using the packet sending thread, can efficiently send out all the media messages at the index position in batch at the preset sending time, realize accurate control on the packing interval, can provide high-precision Qos (quality of service) performance, and has the characteristic of large capacity by adopting the multithread processing technology.
The audio media server is realized based on HMP, has low cost, not only realizes the accurate control of the packing interval, has capacity comparable to that of a special DSP, and can provide media processing functions in basic and enhanced services, including service sound providing, conference, interactive response, notification, advanced voice service and other functions.
Drawings
Fig. 1 is a schematic diagram of the location of a media server in an NGN network.
Fig. 2 is a schematic diagram of the functional modules of the media server of the present invention.
Fig. 3 is a schematic diagram of the structure of the audio file.
Fig. 4 is a flowchart of audio file parsing.
FIG. 5 is a schematic block diagram of the multithreading technique employed by the present invention.
Fig. 6 is a schematic block diagram of an audio media packetization control apparatus according to the present invention.
Fig. 7 is a schematic diagram of an audio media packetization control method according to the present invention.
Fig. 8 is a flow chart of the processing of the pre-transmission control module of the present invention.
FIG. 9 is a flow chart of the time management packet control module process of the present invention.
Fig. 10 is a flow chart of DTMF number transmission and reception.
Fig. 11 is a conference call flow diagram.
Detailed Description
As shown in fig. 2, the audio media server of the present invention includes a signaling forwarding unit, a main control unit connected to the signaling forwarding unit, a control/media switching unit, a media storing and forwarding unit, and a media processing unit, wherein the main control unit, the media storing and forwarding unit, and the media processing unit all interact with each other through the control/media switching unit to control a flow or a media flow, and the media storing and forwarding unit and the media processing unit are carriers implemented by the media processing technology of the present invention.
A signaling forwarding unit: the method mainly realizes the isolation of an internal network and an external network of the system, and Control signaling SIP (Session Initiation Protocol)/H248/MGCP (media gateway Control Protocol) of the equipment is uniformly forwarded through a signaling forwarding unit to realize the presentation of a single external IP (Internet Protocol) address of the equipment;
the main control unit: the control device is used for receiving and analyzing the control signaling to generate corresponding control information to control the media storing and forwarding unit and the media processing unit to perform corresponding channel processing on playback, recording, receiving and sending numbers, a conference and transcoding;
the control signaling is a message in an international standard format, and the control message is a message which is formed by interpreting and translating various fields in the control signaling and is suitable for a transfer format inside the system.
Control/media switching unit: the module is used for completing the exchange of control messages/media data packets inside the server, which realizes the function of the switch, and is a bridge for communication between other modules, and is not described herein again.
The media store-and-forward unit: and finishing the storage of mass multimedia data, including a voice library for realizing the voice playing function and the storage of user recording when realizing the recording function. The media storing and forwarding unit is provided with an external network port, and when the media does not need additional conversion processing, the media is directly transmitted and received through the external network port on the unit.
The media message sent through the external network port is a streamed media message, and the message is a message in accordance with the international standard format.
When the recording service is realized, if a terminal (such as a fixed telephone terminal) wants to record by receiving a media stream through an external network port, and any DTMF number (0-9, and #) is not pressed in the recording process, the media stream does not contain the DTMF number at the moment; if the recording is finished (for example, the number # represents the end key of the recording), then the number # is pressed, then the received media stream contains DTMF number (# number), the number # is detected and reported to the main control unit, and the main control unit will issue a control message to close the channel to stop recording.
The media storing and forwarding unit comprises an internal call agent module, a recording media processing module, a playback media processing module, a packet sending control module, a packet receiving control module and a storage module, wherein,
and the internal call agent (call agent) module is used for realizing the interaction of control messages with the main control module, and the messages are realized through the control plane of the control/media exchange unit. If the control message received by analysis is a recording, informing a recording processing module; if the sound is played, the sound playing processing module is informed.
And the recording media processing module is used for extracting the effective load of the media message received by the packet receiving control module and storing the effective load into a specified file format (WAV/AMR) after the media message is sequenced.
The playback media processing module is used for finding the sound source file from the storage module according to the parameters in the playback control message, analyzing the sound source file, reading the effective data of the sound source, and packaging and streaming the sound source file into a media message suitable for network transmission; if the coding format of the media message after being streamed according to the sound source data is not consistent with the coding format required by the terminal, the media message needs to be sent to a media processing unit for processing;
the packet sending control module is used for sending the media message through the internal and external network ports, and specifically, the packet sending control module, namely, the packet sending control device, is the core of the present invention, and will be specifically described in detail below.
And the packet receiving control module is used for receiving the media message through the internal and external network ports, forwarding the media message to the media processing unit if the media message received from the external network port is inconsistent with a required and stored sound source file format (WAV/AMR), transcoding the media message by the media processing unit, sending the transcoded media message to the internal network port of the packet receiving control module, then processing the transcoded media message to the recording media processing module, and converting a destination address of the media message containing the DTMF number into an address corresponding to the transceiver channel.
And the storage module is used for storing the sound source file.
A media processing unit: complete the conversion of voice coding and decoding modes, and realize DTMF (Dual tone multi-Frequency) receiving and sending signals and conference mixing functions.
The media processing unit has an ethernet port and a TDM (Time Division multiplexing) interface to implement the respective needs of an IP (internet protocol) user and a PSTN (Public switched telephone Network) user.
The media processing unit comprises a call agent module, a number receiving and sending module and a conference processing module, wherein,
a call agent module for realizing the interaction of the control message between the main control unit and the media processing unit, if the control message is a number receiving and sending message, informing the number receiving and sending module to process, and if the control message is a transcoding or conference message, informing the conference processing module to process
The number receiving and sending module is used for setting the number receiver resources and identifying the validity of the valid number in the media stream; the system is also used for generating numbers according to the control message of the main control unit;
the conference processing module is used for processing the media streams from all the participants and synthesizing the input speech frames of different participants together to be used as a mixed speech frame; the speech frames output to each participant are mixed speech frames that filter the input speech frames of that participant, thus preventing the user from hearing his own echo.
The invention audio media server provides low cost and large capacity to overcome the above mentioned DSP and HMP deficiency on the basis of HMP mode improvement, it is a media processing technology realization scheme suitable for various network users based on Linux/vxworks operation system, the media server of the invention provides media processing function needed by various services under the control of application server, including: playback, recording, DTMF number receiving, conference, transcoding and other media processing techniques. The key points of the media processing technology of the invention are as follows:
firstly, analyzing and constructing the sound source file format:
since different types of files have different organization forms for audio sample data, analysis needs to be performed according to corresponding formats. Generally, a file contains a description portion and a data portion of data. At present, the processing of the sound source file supports the file types such as WAV (Wave Form) and AMR (adaptive multi-Rate), as shown in fig. 3, although other sound source types may be supported according to the requirement and completely controlled by software.
The WAV File header is one of acoustic File formats used in multimedia, and is based on the RIFF (Resource exchange File Format) Format. The AMR is fully called Adaptive Multi-Rate, and is mainly used for audio of mobile equipment, and the compression ratio is larger.
The flow chart of resolving the WAV file and the AMR file is shown in FIG. 4, and the construction flow is similar to the flow chart. Wherein,
and (3) resolving the WAV file:
reading a file header of the WAV file; extracting header information including information such as a data coding mode, a channel number, a sampling frequency, a bit number required by each sampling and the like; skipping over the file description information; data is read from the audio data portion.
And (3) an analysis process of the AMR file:
reading the magic number of the file; reading the first frame data; calculating the size of frame data according to the frame header; reading the frame header; and judging whether the frame is bad, reading the next frame header if the frame is bad, and otherwise, reading the voice data of the frame.
Streaming of speech data and speech construction of streamed data
The streaming processing refers to performing RTP (Real-time transport protocol) packaging processing on the read data in the audio source file to construct a media message which can be transmitted on the IP network and conforms to the RFC3550 standard. This includes constructing IP/UDP (user datagram Protocol),/RTP headers and payload data.
If the coding format of the voice data is the same as the coding and decoding format required by the terminal user, conversion processing is not needed, and the voice data is directly transmitted to an external network port after being subjected to streaming processing by a playback processing module of the media storage and forwarding unit;
if the coding format of the voice data is not consistent with the coding and decoding formats (such as g.711a/u, g.729, g.723) required by the end user, voice data conversion is required, the process of streaming processing is completed by the media store-and-forward unit and the media processing unit together, and the media stream interaction between the two is realized by the media plane of the control/media switching unit.
The fluidization process can be achieved in two ways:
the first method is as follows: the playback processing module of the media store-and-forward unit restores the voice data to the format of PCM8 or PCM16, the media processing unit converts the voice data into the corresponding encoded data of G.711/G.729/G.723 through an algorithm, and finally the playback processing module of the media store-and-forward unit performs packet-forming processing based on the real-time transport protocol RTP.
The second method comprises the following steps: the playback processing module of the media storage and forwarding unit directly processes the voice data in the sound source file, such as a/u-law or AMR frame, into RTP message in G.711a/u or RFC3267 payload format, and the conference processing module of the media processing unit transcodes the data processed by RTP into a target coding and decoding G.729/G.723 mode. The present invention recommends the use of the second approach.
Of course, for the streaming of the WAV file, the source data encoding format in the WAV file (the source data encoding format is in the header) needs to be known. The source and destination address information of the IP/UDP is determined by the parameters brought down by the main control unit, and the length of the payload data is determined by the packing time length information brought down by the main control unit.
For streaming of AMR files, streaming data for changing the storage format to the transport format needs to be referred to the rfc3267 standard. Here the problem of different payload formats is involved: a byte alignment format and a bandwidth efficiency format. Different formats need to be selected according to SDP description in signaling, and then format conversion of the sound source speech frame in payload is carried out.
The voice construction of streaming data is reversed: the payload in the streaming data is changed into the sound source data and stored. In the process, the received RTP data needs to be sequenced and jittered, and format conversion is carried out so that the voice data can be stored in a corresponding file type according to a correct format.
Three, large capacity multithreading
The operations realized by each module of the media storing and forwarding unit, including file header information construction during recording processing, rtp message load extraction, sound source analysis during effective voice storage and playback processing, data reading, streaming, packaging and packet sending, all adopt a multithread processing technology, that is, each operation has a plurality of threads to process in parallel, thereby realizing the characteristics of multi-channel and large capacity.
One of the most common models for operating files is the synchronous block I/O model. In this model, an application in user space performs a system call, which can cause the application to block. As shown in FIG. 5, taking a read operation as an example, the invention utilizes a thread family (i.e., multiple threads) to simulate an asynchronous read operation; the read request thread determines whether to initiate a read operation, and the read file thread reads data; a read request thread family and a read file thread family are formed by a plurality of read request threads and read file threads; therefore, asynchronous file reading operation can be simulated by concurrent file reading threads, and a constructed RTP packet thread family for performing packet processing and a packet sending thread family for performing packet sending processing are also shown in the figure. The simulation of writing a file is similar. When the file operation needs to be executed, the communication between the two thread families is carried out by using a message queue mode between the read-write request thread and the read-write file thread.
Once some channels need to transmit media stream, continuous packing and packet transmission processing are required for the read voice data. If all processes or threads are used for processing, the situation of congestion is caused definitely, and the large capacity is limited; and the application of concurrent processing of a plurality of threads lays a foundation for solving the problems.
Four, high precision package sending control technology
The media server has a large amount of media streams sent from the packet sending control module of the media storing and forwarding unit, namely the internal and external network ports of the packet sending control device. In order to accurately control the packing interval of the streaming data (rtp data), the packet sending control device of the present invention is implemented by a method of managing a pointer array with time information by a packet sending thread, as shown in fig. 6, the packet sending control device of the present invention includes a predicted packet sending control module and a time management packet sending control module, wherein:
the predicted packet sending control module is used for caching the media message after the playback media processing module streams, determining the predicted sending time and hanging the predicted sending time to a linked list pointed by the element of the pointer array corresponding to the sending time.
Each network port corresponds to a certain amount of caches and is used for storing media messages; when no media message needs to be processed, all the caches are on the idlest, if the media message needs to be processed, the packet sending control module is expected to apply for the caches from the idlest of the idle chain list for loading the media message, and then the message is hung on the pointer array element managed by the time management packet sending control module corresponding to the network port. After the time management packet sending control module sends the message on the array element, the caches are hung on the idle linked list idlest of the network port.
The estimated transmission time of the media message is determined as follows: reading the predicted sending time of the current pointer array element being processed by the time management packet sending control module; and adding a certain time margin on the basis of the read predicted sending time as the predicted sending time of the media message so as to ensure that the time management packet sending module browses the media message which is hung on the corresponding pointer array element.
The index of the pointer array element and the predicted sending time of the media message on the linked list pointed by the pointer array element have a sequential corresponding relation, and the predicted sending time interval of the adjacent pointer array elements is fixed.
The time management packet sending control module is used for sequentially reading the media messages on the linked list pointed by the pointer array elements according to the pointer array element indexes and sending the media messages at the expected sending time; if the pointer array element list head does not carry any media message, the delay is needed to reach the predicted sending time of the element.
The predicted packet sending control module and the time management packet sending control module are realized by adopting a multithreading processing technology. Correspondingly, as shown in fig. 7, the media packet-sending control method of the present invention includes the following steps:
step 701: determining the predicted sending time of a media message to be sent and hanging the media message on a linked list pointed by a pointer array element corresponding to the predicted sending time;
step 702: a sending step, which is to read the media messages on the linked list pointed by the pointer array elements in sequence according to the pointer array element indexes and send the media messages at the estimated sending time; if the linked list pointed by the pointer array element has no media message, delaying to the predicted sending time of the element.
The functions and steps of the modules are explained in detail in the following with reference to the attached drawings:
as shown in fig. 8, when a thread family of a packet sending prediction program of the packet sending prediction control module is created by a scheduling process and then enters a whisle loop, all channels in charge of the thread are browsed in the whisle loop, once a channel is found to require to send a media packet, the channel enters a packing function, whether the media packet to be sent is the first media packet is checked in the packing function, and if the media packet to be sent is the first media packet, the method comprises the following steps:
A. reading an index and a predicted sending time, foresndtime, of a pointer array currently being processed in a time management packet sending control thread; in order to send the first media packet, the index and the expected sending time of the first media packet must be the index and the time after the index and the before time, so a certain margin (index margin and time margin) needs to be reserved on the index and the before time so that the time management packet sending control thread can browse (the time management packet sending control thread browses in increments according to the index); the calculation method of the index nextpkt _ tindex and the estimated sending time nextpkt _ forendtime of the first media message at present is as follows:
nextpkt _ tindex is (index + n)% of the number of elements of the pointer array;
nextpkt _ forcedstime ═ forcedstime + n ═ time interval represented by each pointer array index;
wherein n is a preset index margin (for example, n is 5) to ensure that the time management packet sending control thread browses the media packet attached to the corresponding pointer array element; the corresponding time margin, i.e., the index margin n, is multiplied by the time interval represented by each pointer array index.
The time interval represented by each pointer array index, that is, the expected transmission time interval of the adjacent pointer array elements, is fixed (for example, 10ms), the indexes and the expected transmission time are in sequential correspondence, the transmission index of the first media packet is a time interval corresponding to the current expected transmission time shifted backward by n indexes, and the corresponding expected transmission time is a time interval corresponding to the current expected transmission time shifted backward by n indexes. After the index number is found, the media message is linked to the linked list of the corresponding index of the pointer array, and simultaneously, a media message counter in the linked list structure is added with 1.
B. And calculating the index and the predicted sending time of the media message to be sent next in the channel, wherein the algorithm comprises the following steps:
nextpkt _ index ═ nextpkt _ index + (Packed interval/time interval represented by each index)% (number of elements of pointer array)
nextpkt _ forcendtime ═ nextpkt _ forcendtime + (packing interval)
The packing interval is an integral multiple of the time interval represented by each index, and in the simplest case, the packing interval is the same as the time interval represented by each index.
The second media message sent next by the channel uses the calculated index number and the predicted sending time to find the linked list of the corresponding index of the pointer array, and the media message counter in the linked list structure is added with 1.
C. And repeating the step B until the media message is processed.
The pointer array element index of the media message is determined according to the above mode, so that the media message can be guaranteed to be sent, and the phenomenon of packet loss can not be generated. The media messages stored on each pointer element are not limited in quantity, even if media messages of multiple channels need to be sent at the same time, the media messages of the multiple channels can be stored on the linked list corresponding to the same pointer array element index as long as the pointer array element index is determined according to the principle, and therefore precondition is provided for batch sending of the media messages.
Fig. 9 shows a flowchart of the time management packet sending control module, and when a time management packet sending control thread family of the time management packet sending control module is created by a scheduling process, the current system time is obtained and rounded to a second, which is used as the predicted sending time T0 of the media packet carried on the first index 0 linked list of the pointer array, where the current index is 0, and then the current while loop is always started, and in this while loop:
A. browsing whether a linked list of the current index of the pointer array has media messages to be sent or not (through a media message counter), taking off the media messages once the linked list of the current index has the media messages to be sent is found, then transmitting the address and load information of the media messages and the expected sending time parameters of the batch of media messages to a sendmsg function, sending the batch of messages out in batch at the expected sending time by the function, and then returning at the expected sending time; if the media message is not to be sent on the linked list of the current index, a delay function DelayTime is called to delay to the expected sending time of the index linked list.
B. And updating the current index and the estimated sending time of the media message on the linked list of the current index. The updating method comprises the following steps:
current index:
index ═ 1)% (maximum number of elements in the pointer array)
Predicted transmission time corresponding to the current index:
foresndtime + (time interval represented by each index) (10ms)
C. Repeat step A, B, and cycle forever
The code is implemented as follows:
void*TimeQueueThread(void*arg)
{
gettimeofday(&tpSndTime,NULL);
tpSndTime.tv_sec+=3;
tpSndTime.tv_usec=0;
tpLastSndTime=tpSndTime;
wQStartIndex=0;
PointerArray[wQStartIndex].QForeCastSndTime
=tpSndTime;
while(1)
{
wQIndex=wQStartIndex;
wEleNum=PointerArray[wQIndex].wElememtNum
if(!wEleNum)
{
DelayTime();
}
Else
{
Sendmsg();
}
NextTv(&tpLastSndTime,MinPktTime*1000,&tpSndTime);
tpLastSndTime=tpSndTime;
wQStartIndex+=1;
wQStartIndex=wQStartIndex%QUEUE_MAX;
PointerArray[wQStartIndex].QForeCastSndTime
=tpSndTime;
}
because the voice quality is seriously affected if the jitter of the packing interval is too large for the end user, the precision of the packing interval is an important index of the Qos, and the evaluation of the product quality by an operator is directly affected. It can be said that in the case where file read data and packaging can be supplied in time, Qos is completely dependent on packaging interval accuracy.
The packet sending control device can efficiently send out all the media messages at the index position in batch at the preset sending time by accurately and effectively controlling the index of the media messages mounted on the pointer array and the expected sending time.
Fifth, DTMF send-receive signal function, support in-band mode and RFC2833 mode
The DTMF number receiving and sending function is implemented on the number receiving and sending module of the media processing unit, as shown in fig. 10, when the number receiving and sending module of the media processing unit receives the request of the main control unit to open the number receiving and sending module, firstly, a series of setting of the number receiving and sending resources (including establishing a number receiving and sending channel; setting of voice channel parameters, detection mode of DTMF numbers and activating the number receiving and sending resources) are performed, then the media storing and forwarding unit forwards the media stream containing DTMF numbers from the external Network to the number receiving resources of the corresponding media processing unit through nat (Network Address Translation), and the number receiving resources perform detection and validity identification (according with national standard GB9038-88) on the valid numbers in the media stream; the sending number is a DTMF number which is generated and valid according to GB9038-88 and is forwarded to the destination terminal through the NAT of the media storage forwarding unit. The above describes the signal receiving and sending processes on the IP side, and the signal receiving and sending on the TDM side requires introducing a PCM (Pulse Code Modulation) stream to the signal receiving resource of the media processing unit through E1/T1 for the same process. Except that the configuration parameters are different when configuring the transmit-receive number.
The main control module configures the parameters of the number transceiver through the control message to make the number transceiver in working state, when wanting to receive number, the media stream is forwarded in through nat of the media store-and-forward unit, because the outer network device can only see the outer network port of the media store-and-forward unit, the destination address of the media message is also the address (ip + port) of the outer network port, therefore the media store-and-forward unit is required to replace the destination address of the media message into the address corresponding to the number transceiver channel at the outer network port, and then the media message is sent to the number transceiver channel, and the mapping relation between the address of the outer network port and the address corresponding to the number transceiver channel is stored in the nat table; when the number is required to be sent, the number is required to be generated according to the indication of the master control number sending message.
Sixthly, 3-party and multi-party conference functions are supported, and 64-party sound mixing can be supported to the maximum extent
The conference/transcoding is realized on a conference processing module of the media processing unit; a conference is a conference that allows multiple users to participate in a conference, each user hearing the other user's conversation. The participants of the conference may be TDM users or IP users. A key processing method is provided in the conference/transcoding, and the method can synthesize input voice frames of different participants together to be used as a mixed voice frame; the speech frames output to each participant are mixed speech frames that filter the input speech frames of that participant, thus preventing the user from hearing his own echo. Each participant may be a different codec; transcoding is only one special form of conferencing.
A participant of the conference may be set to a "mute" state, in which the mixer treats the participant as muting, but the participant may hear the voices of other participants; a participant of the conference may be set to a "hold" state, in which the mixer treats the participant as a mute, and the participant does not hear the sound of the other participants; a participant of the conference may be set to an "announce hold" state, in which the mixer treats the participant as a mute, and the participant may hear the sound of the source participant; the participants of the conference can be set to a 'source participant' state, and the mixer inputs the input of the participants to other 'notification holding' participants at the moment, so that the other 'notification holding' participants can hear the sound of the 'source participant'; the "source participant" is typically used to play music, news, announcements, and the like.
As shown in fig. 11, when the conference processing module receives a conference creation message sent by the main control unit, if a conference ID already exists, the conference processing module reports the conference ID to the main control unit, otherwise, the conference ID and a participant ID are created, a participant parameter is set, a channel corresponding to a participant is enabled, and a processing process of mixing voice frames and filtering the voice frames of the participants is performed during the conference; when receiving the information of joining the conference of the participant, the process of establishing the ID of the participant, setting the parameters of the participant and enabling the channel corresponding to the participant is also executed; and if the information of canceling the conference participants sent by the main control unit is received during the conference, disabling the channels corresponding to the conference participants and canceling the IDs of the corresponding participants, and canceling the conference IDs when only one participant is left.
The invention relates to a packet sending control device and a method, which realize accurate and effective control of media message pointer array mount index and predicted sending time by using a method of packet sending thread management pointer array with time information, can efficiently send out all media messages at the index position in batch at a preset sending moment, realize accurate control of a packing interval, can provide high-precision Qos (quality of service) performance, and has the characteristic of large capacity by adopting a multithread processing technology.
The audio media server is realized based on HMP, has low cost, not only realizes the accurate control of the packing interval, has capacity comparable to that of a special DSP, and can provide media processing functions in basic and enhanced services, including service sound providing, conference, interactive response, notification, advanced voice service and other functions.
Claims (13)
1. An audio media packetization control apparatus, comprising: the device comprises an expected packet sending control module and a time management packet sending control module, wherein,
the estimated sending control module is used for determining the estimated sending time of the media message to be sent and is also used for hanging the media message on a linked list pointed by a pointer array element corresponding to the estimated sending time;
the time management packet sending control module is used for sequentially reading the media messages on the linked list pointed by the pointer array elements according to the pointer array element indexes and sending the media messages at the estimated sending time; and if the linked list pointed by the pointer array element does not have the media message, delaying the expected sending time of the pointer array element.
2. The apparatus of claim 1, wherein:
the estimated transmission time of the media message is determined as follows: reading the predicted sending time of the current pointer array element being processed by the time management packet sending control module; and adding a certain time margin on the basis of the read predicted sending time as the predicted sending time of the media message so as to ensure that the time management packet sending control module browses the media message which is hung on the corresponding pointer array element.
3. The apparatus of claim 1 or 2, wherein: the index of the pointer array element and the predicted sending time of the media message on the linked list pointed by the pointer array element have a sequential corresponding relation, and the predicted sending time interval of the adjacent pointer array elements is fixed.
4. The apparatus of claim 1 or 2, wherein: the predicted packet sending control module and the time management packet sending control module are realized by adopting a multithreading processing technology.
5. A media packetization control method, comprising:
determining the predicted sending time of a media message to be sent and hanging the media message on a linked list pointed by a pointer array element corresponding to the predicted sending time;
a sending step, which is to read the media messages on the linked list pointed by the pointer array elements in sequence according to the pointer array element indexes and send the media messages at the estimated sending time; if the linked list pointed by the pointer array element has no media message, the estimated sending time of the element is delayed.
6. The method of claim 5, wherein: the hooking step is realized by a plurality of expected packet sending threads, each thread browses the channel responsible for the thread, and when a certain channel is found to require to send a media message, the following steps are executed:
a: reading an index and a predicted sending time, foresndtime, of a current pointer array element currently being processed in a time management packet sending control thread;
b: determining hitching index nextpkt _ tindex and expected sending time nextpkt _ forendtime of the first media message to be sent, wherein,
nextpkt _ tindex is (index + n)% of the number of elements of the pointer array;
nextpkt _ forcedstime ═ forcedstime + n ═ time interval represented by each pointer array index;
wherein n is a preset index margin to ensure that the time management packet sending control thread browses the media message which is hung on the corresponding pointer array element;
c: determining hitching indexes nextpkt _ tindex and predicted sending time nextpkt _ fortrendtime of subsequent media messages until all the media messages are processed, wherein:
nextpkt _ tindex + (packing interval/time interval represented by each index)% (number of elements of pointer array), wherein the packing interval is an integer multiple of the time interval represented by each index;
nextpkt _ forcendtime ═ nextpkt _ forcendtime + (packing interval).
7. The method of claim 5, wherein: the sending step is realized by a plurality of time management packet sending control threads, and each time management packet sending control thread circularly executes the following steps:
a: browsing whether a linked list of the current index of the pointer array has a media message to be sent, if so, reading the media message, and transmitting the address and load information of the media message and the estimated sending time parameter of the batch of media messages to a sendmsg function; the sendmsg function sends the batch of media messages out in batch at the expected sending time, and then returns the batch of media messages at the expected sending time;
if the media message is not to be sent on the linked list of the current index, the time management packet sending control thread calls a delay function DelayTime to delay to the predicted sending time of the linked list of the current index;
b: updating the current index and the predicted sending time of the media message on the linked list of the current index, wherein,
current index: index ═ 1% (index + number of elements in the pointer array);
predicted transmission time corresponding to the current index: forendstim + (the time interval each index represents).
8. The method of claim 6 or 7, wherein: in the hooking step, adding 1 to a media message counter corresponding to a linked list structure every time one media message is hooked; and the time management packet sending control thread determines whether the linked list of the current index has the media message to be sent or not according to the media message counter.
9. An audio media server, comprising an audio media packetization control apparatus comprising a pre-packetization control module and a time management packetization control module, wherein,
the estimated sending control module is used for determining the estimated sending time of the media message to be sent and is also used for hanging the media message on a linked list pointed by a pointer array element corresponding to the estimated sending time;
the time management packet sending control module is used for sequentially reading the media messages on the linked list pointed by the pointer array elements according to the pointer array element indexes and sending the media messages at the estimated sending time; if the linked list pointed by the pointer array element has no media message, the estimated sending time of the element is delayed.
10. The audio media server of claim 9, wherein:
the estimated transmission time of the media message is determined as follows: reading the estimated sending time of the pointer array element being processed by the time management packet sending control module; and adding a certain time margin on the basis of the read predicted sending time as the predicted sending time of the media message so as to ensure that the time management packet sending control module browses the media message which is hung on the corresponding pointer array element.
11. The audio media server of claim 9 or 10, wherein: the audio media server also comprises a signaling forwarding unit, a main control unit and a media storing and forwarding unit, wherein,
the signaling forwarding unit: the method is used for realizing the uniform forwarding of the internal and external signaling of the server;
the main control unit: the control unit is used for receiving and analyzing the control signaling forwarded by the signaling forwarding unit to generate a corresponding control message to control the media storage forwarding unit;
the media storing and forwarding unit is provided with an external network port and used for realizing recording and voice playing functions according to the control message sent by the main control unit, wherein the audio media packet sending control device realizes the packet sending control of the media message.
12. The audio media server of claim 11, wherein: various operations realized by the media storage and forwarding unit are realized by adopting a multithreading processing technology.
13. The audio media server of claim 11, wherein: the audio media server also comprises a media processing unit, the media processing unit comprises a call agent module, a number receiving and sending module and a conference processing module, wherein,
the call agent module is used for realizing the interaction of the control messages between the main control unit and the media processing unit, informing the number receiving and sending module to process if the control messages are number receiving and sending messages, and informing the conference processing module to process if the control messages are transcoding or conference messages;
the number receiving and sending module is used for setting the number receiver resources and identifying the validity of the valid number in the media stream; the system is also used for generating numbers according to the control message of the main control unit;
a conference processing module for processing media streams from each participant, synthesizing input speech frames of different participants together as a mixed speech frame, and filtering the input speech frame of the participant from the mixed speech frame;
the main control unit is also used for generating a control message to the media processing unit;
the media storing and forwarding unit is also used for converting the destination address of the media message containing the DTMF number into the address corresponding to the transceiver channel.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2009101429225A CN101567853B (en) | 2009-05-13 | 2009-05-13 | Audio frequency media package-transmitting controller, method and audio frequency media server |
| PCT/CN2010/072616 WO2010130193A1 (en) | 2009-05-13 | 2010-05-11 | Device, method for controlling audio media packet transmission and audio media server |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2009101429225A CN101567853B (en) | 2009-05-13 | 2009-05-13 | Audio frequency media package-transmitting controller, method and audio frequency media server |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101567853A CN101567853A (en) | 2009-10-28 |
| CN101567853B true CN101567853B (en) | 2011-08-10 |
Family
ID=41283809
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2009101429225A Expired - Fee Related CN101567853B (en) | 2009-05-13 | 2009-05-13 | Audio frequency media package-transmitting controller, method and audio frequency media server |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN101567853B (en) |
| WO (1) | WO2010130193A1 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101567853B (en) * | 2009-05-13 | 2011-08-10 | 中兴通讯股份有限公司 | Audio frequency media package-transmitting controller, method and audio frequency media server |
| CN105007281A (en) * | 2015-08-10 | 2015-10-28 | 武汉中元华电软件有限公司 | Time-prediction-based network synchronization message MD5 encryption apparatus and encryption method |
| CN107809435A (en) * | 2017-11-10 | 2018-03-16 | 北京锐安科技有限公司 | A kind of extracting method and device of AMR speech datas |
| CN111277900B (en) * | 2018-12-05 | 2022-12-23 | 深圳市茁壮网络股份有限公司 | Starting method and device of set top box |
| CN112511463B (en) * | 2020-11-18 | 2022-04-05 | 潍柴动力股份有限公司 | Message sending method and device |
| CN115623240A (en) * | 2022-10-08 | 2023-01-17 | 苏州市广播电视总台 | Material management method and system based on file direct technology |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101136772A (en) * | 2007-09-28 | 2008-03-05 | 华为技术有限公司 | Method for regularly sending message and message sending module |
| CN101296184A (en) * | 2008-05-30 | 2008-10-29 | 华为技术有限公司 | Method, system and device for data transmission |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69943190D1 (en) * | 1998-03-02 | 2011-03-31 | Panasonic Corp | Method and device for the remote charging of a desired part of a continuous medium with increased accuracy |
| JP3348080B1 (en) * | 2000-07-07 | 2002-11-20 | 松下電器産業株式会社 | Data transmitting apparatus, data receiving apparatus, and data transmitting / receiving method |
| WO2005086016A1 (en) * | 2004-03-03 | 2005-09-15 | Packetvideo Network Solutions, Inc. | System and method for retrieving digital multimedia content from a network node |
| CN1852423A (en) * | 2006-01-10 | 2006-10-25 | 华为技术有限公司 | Network flow-medium performance broadcasting system and method |
| CN101567853B (en) * | 2009-05-13 | 2011-08-10 | 中兴通讯股份有限公司 | Audio frequency media package-transmitting controller, method and audio frequency media server |
-
2009
- 2009-05-13 CN CN2009101429225A patent/CN101567853B/en not_active Expired - Fee Related
-
2010
- 2010-05-11 WO PCT/CN2010/072616 patent/WO2010130193A1/en active Application Filing
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101136772A (en) * | 2007-09-28 | 2008-03-05 | 华为技术有限公司 | Method for regularly sending message and message sending module |
| CN101296184A (en) * | 2008-05-30 | 2008-10-29 | 华为技术有限公司 | Method, system and device for data transmission |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2010130193A1 (en) | 2010-11-18 |
| CN101567853A (en) | 2009-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7286652B1 (en) | Four channel audio recording in a packet based network | |
| KR100501324B1 (en) | Call Routing Method based on MOS prediction value | |
| AU775173B2 (en) | Communication management system for computer network-based telephones | |
| US7508815B2 (en) | Method and system for facilitating network troubleshooting | |
| US10068581B2 (en) | Method and arrangement for providing a backwards compatible payload format | |
| CN101567853B (en) | Audio frequency media package-transmitting controller, method and audio frequency media server | |
| US20050033839A1 (en) | Method for extracting a computer network-based telephone session performed through a computer network | |
| US7124163B2 (en) | Data server | |
| WO2009080408A1 (en) | Real-time network transport protocol interface method and apparatus | |
| CN108877820B (en) | Audio data mixing method and device | |
| KR20100083233A (en) | Apparatus and method for multimedia file streaming in portable terminal | |
| CN101115011A (en) | Stream media playback method, device and system | |
| WO2010083737A1 (en) | Method and apparatus for processing voice signal, method and apparatus for transmitting voice signal | |
| CN102420815B (en) | VOIP (Voice Over Internet Protocol) recording and playing system and method | |
| EP1635535A2 (en) | Communication management system for recording communications sessions | |
| CN101960783B (en) | Methods and apparatus for dual-tone multi-frequency signal analysis within a media over internet protocol network | |
| CN102045586A (en) | Network device, information processing apparatus, stream switching method and content distribution system | |
| CN101860537B (en) | A kind of implementation method of media playing service and media server | |
| Lee et al. | Study on eliminating delay and noise in on-site audio center of Anchor technology | |
| WO2015196823A1 (en) | Method and device for achieving cyclic playing from text to voice service, and server | |
| US20250030753A1 (en) | Method, electronic device and apparatus for transmitting media data stream, and storage medium | |
| CN112671696B (en) | Message transmission method, device, computer equipment and computer storage medium | |
| KR20070052956A (en) | Intelligent integrated multimedia server | |
| CN120730117A (en) | Edge multi-source stream aggregation transmission method and electronic device | |
| JP4911579B2 (en) | Terminal, program and method for storing or playing back stream for analysis |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20170822 Address after: 037500 Shanxi province Guangling County Hu Quan Zhen Jian Xi Cun, No. 1 Patentee after: Kang Haijuan Address before: 518057 Nanshan District high tech Industrial Park, Guangdong, South Road, science and technology, ZTE building, legal department Patentee before: ZTE Corporation |
|
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110810 Termination date: 20180513 |