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 PDF

Info

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
media message
array
time
index
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
Application number
CN2009101429225A
Other languages
Chinese (zh)
Other versions
CN101567853A (en
Inventor
丁向军
王魏强
夏洪升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kang Haijuan
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2009101429225A priority Critical patent/CN101567853B/en
Publication of CN101567853A publication Critical patent/CN101567853A/en
Priority to PCT/CN2010/072616 priority patent/WO2010130193A1/en
Application granted granted Critical
Publication of CN101567853B publication Critical patent/CN101567853B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor

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

Audio frequency media package-transmitting controller, method and audio frequency media server
Technical field
The invention belongs to the network communications technology of computer application field, be specifically related to a kind of audio frequency media package-transmitting controller, method and audio frequency media server based on Linux/vxworks.
Background technology
Media server is next generation network (NGN, Next Generation Network)) in visual plant, its position in the NGN network is as shown in Figure 1.Medium processing system relates to parsing, fluidisation, the packing key technologies such as accurate control at interval to mass data in the existing audio frequency media server.At these key technologies, the media server medium processing system is mainly in two ways in the industry at present: hardware mode-special DSP (Digital Singnal Processing, Digital Signal Processing) and software mode-HMP (Host Media Processing, host media handle) technology.But their defective is: though hardware mode cost height, software mode cost have reduced, capacity is but too little, in case the increase capacity cause again fluidisation and packing at interval accurately control performance reduce.The special DSP technology is to carry out the processing of media data by the special algorithm in the proprietary chip, in general proprietary dsp chip media processing capacity is strong, channel density also is that capacity is big, and the price of each passage is certain, and channel density is expensive more also just high more; And the HMP technology is the developing direction of following media server, but with respect to proprietary DSP, the host media disposal ability is general, and therefore under jumbo situation, the control of packing precision can significantly descend, and big capacity and packing precision become the bottleneck of its development.
Summary of the invention
The technical problem to be solved in the present invention provides a kind of audio frequency media package-transmitting controller, method and audio frequency media server, improves media message packing spacing accuracy.
For solving the problems of the technologies described above, the invention provides a kind of audio frequency media package-transmitting controller, this device comprises estimates package control module and time management package control module, wherein,
Described expectation package control module is used for determining the expectation transmitting time of the media message that will send, also is used for described media message is articulated to the chained list of the array of pointers element indication corresponding with described expectation transmitting time;
Described time management package control module is used for according to the media message on the chained list of array of pointers element index reading pointer array element indication successively, and in described expectation transmitting time described media message is sent; If do not have media message, the expectation transmitting time of the described array of pointers element of then delaying time on the chained list of this array of pointers element indication.
Further,
The expectation transmitting time of described media message is to determine like this: the expectation transmitting time that reads the current pointer array element that described time management package control module handling; On the basis of the expectation transmitting time that reads, increase the expectation transmitting time of regular hour surplus, browse to the described media message that is articulated in corresponding array of pointers element to guarantee the described time management module of giving out a contract for a project as described media message.
Further,
The expectation transmitting time of the media message on the chained list of the index of described array of pointers element and described array of pointers element directed has corresponding relation successively, and the expectation transmission time interval of adjacent array of pointers element is fixed.
Described expectation package control module and time management package control module adopt the multithreading treatment technology to realize.
For solving the problems of the technologies described above, the present invention also provides a kind of medium package control method, and this method comprises:
Articulate step, refer to determine the expectation transmitting time of the media message that will send and described media message is articulated on the chained list of the array of pointers element indication corresponding with described expectation transmitting time;
Forwarding step refers to according to the media message on the chained list of array of pointers element index reading pointer array element indication successively and in described expectation transmitting time described media message be sent; If do not have media message on the chained list of this array of pointers element indication, this element of then delaying time is estimated transmitting time.
Further,
The described step that articulates realizes that by a plurality of expectations thread of giving out a contract for a project each thread is browsed its passage of being responsible for, and when finding that certain passage requires to send media message, carries out following steps:
A: the index index of the current current pointer array element of handling and expectation transmitting time foresndtime in the time for reading management package control thread;
B: the articulated index nextpkt_tindex of definite first media message that will send and expectation transmitting time nextpkt_foresndtime, wherein,
The element number of nextpkt_tindex=(index+n) % array of pointers;
The time interval of each array of pointers index representative of nextpkt_foresndtime=foresndtime+n*; Wherein, n is predefined index surplus, browses to the described media message that is articulated in corresponding array of pointers element to guarantee described time management package control thread;
C: determine the articulated index nextpkt_tindex of subsequent media message and estimate transmitting time nextpkt_foresndtime, dispose up to all media messages, wherein:
Nextpkt_index=nextpkt_index+ (time interval of packing interval/each index representative) % (element number of array of pointers), wherein, described packing is the integral multiple in the time interval of each index representative at interval;
Nextpkt_foresndtime=nextpkt_foresndtime+ (packing at interval).
Described forwarding step is realized that by a plurality of time management package control threads following steps are carried out in each time management package control thread circulation:
A: browse on the chained list of the current index of array of pointers whether the media message that will send is arranged, if have, then read described media message, and the expectation transmitting time parameter of the address of described media message and load information and this batch media message is passed to the sendmsg function; The sendmsg function is estimating that transmitting time sends this batch media message in batches, returns in the expectation transmitting time then;
If on the chained list of current index, will not send media message, the delay time expectation transmitting time of current index chained list of described time management package control thread dispatching delay function DelayTime;
B: upgrade the expectation transmitting time of media message on the chained list of current index index and current index, wherein,
Current index: Index=(Index+1) % (array of pointers greatest member number);
The time interval (10ms) of each index representative of the expectation transmitting time of current index correspondence: foresndtime+=.
Further,
In the described on-hook step, whenever articulate a media message, the media message counter of corresponding list structure adds 1; Described time management is controlled thread and is determined on the chained list of current index whether the media message that will send is arranged according to described media message counter.
For solving the problems of the technologies described above, the present invention also provides a kind of audio frequency media server, and described audio frequency media server comprises this audio frequency media package-transmitting controller, and this device comprises estimates package control module and time management package control module, wherein,
Described expectation package control module is used for determining the expectation transmitting time of the media message that will send, also is used for described media message is articulated to the chained list of the array of pointers element indication corresponding with described expectation transmitting time;
Described time management package control module is used for according to the media message on the chained list of array of pointers element index reading pointer array element indication successively and in described expectation transmitting time described media message being sent; If do not have media message on the chained list of this array of pointers element indication, this element of then delaying time is estimated transmitting time.
Further,
The expectation transmitting time of described media message is to determine like this: the expectation transmitting time that reads the array of pointers element that described time management package control module handling; On the basis of the expectation transmitting time that reads, increase the expectation transmitting time of regular hour surplus, browse to the described media message that is articulated in corresponding array of pointers element to guarantee the described time management module of giving out a contract for a project as described media message.
Further, described audio frequency media server also comprises signaling retransmission unit, main control unit and media store retransmission unit, wherein,
Described signaling retransmission unit: be used to realize the unified forwarding of server inside and outside signaling;
Described main control unit: be used to receive and resolve control signaling that described signaling retransmission unit transmits and generate control corresponding message and control the media store retransmission unit;
Described media store retransmission unit has external network interface, and the control messages that is used for issuing according to described main control unit realizes recording and voice play function, wherein, is realized the package control of media message by described audio frequency media package-transmitting controller.
Further, the various operations of described media store retransmission unit realization adopt the multithreading treatment technologies to realize.
Further, described audio frequency media server also comprises media processing units, and described media processing units comprises Call Agent module, transmitting-receiving module and meeting processing module, wherein,
The Call Agent module is used to realize the mutual of control messages between main control unit and the media processing units, if control messages is then notified the transmitting-receiving resume module for transmitting-receiving message, is transcoding or the then notification of meetings processing module processing of meeting message as if control messages;
The transmitting-receiving module is used to carry out the setting of digit receiver resource, and the significant number in the Media Stream is carried out validity identification; Also be used for producing number according to the control messages of main control unit;
The meeting processing module is used to handle the Media Stream from each participant, different participants' input speech frame is synthesized together as the mixing voice frame, and the speech frame of exporting to each participant is the input speech frame that mixed speech frame is filtered this participant;
Described main control unit also is used to generate the control messages to described media processing units;
The destination address that described media store retransmission unit also is used for containing the media message of multisound and double-frequency DTMF number converts receipts impulse sender passage corresponding address to.
Compared to prior art, the give out a contract for a project method of array of pointers of thread management band temporal information of package-transmitting controller of the present invention and method utilization realizes media message array of pointers carry index and estimates the control accurately and effectively of transmitting time, can be efficiently all media messages of this index position sending at predetermined delivery time batch, realized the accurate control of air exercise inter-packet gap, high accuracy Qos (Quality of Service) can be provided performance, adopt the multithreading treatment technology in addition, have jumbo characteristics.
Audio frequency media server of the present invention, realize based on HMP, cost is low, not only realize the accurate control of air exercise inter-packet gap, capacity can match in excellence or beauty with special DSP, medium processing capacity in the fundamental sum enhancing business can be provided, comprise that professional sound provides, function such as meeting, interactive responses, notice and advanced speech business.
Description of drawings
Fig. 1 is the schematic diagram of the position of media server in the NGN network.
Fig. 2 is the schematic diagram of each functional module of media server of the present invention.
Fig. 3 is the schematic diagram of audio files structure.
Fig. 4 is audio files process of analysis figure.
Fig. 5 is the multithreading treatment technology schematic block diagram that the present invention adopts.
Fig. 6 is the modular structure schematic diagram of audio frequency media package-transmitting controller of the present invention.
Fig. 7 is the schematic diagram of audio frequency media package control method of the present invention.
Fig. 8 is the process chart that the present invention estimates the package control module.
Fig. 9 is a time management package control resume module flow chart of the present invention.
Figure 10 is a DTMF number transmitting-receiving flow chart.
Figure 11 is the conference telephone flow chart.
Embodiment
As shown in Figure 2, audio frequency media server of the present invention comprises signaling retransmission unit, the main control unit that is connected with the signaling retransmission unit, control/exchange of media unit, media store retransmission unit, media processing units, wherein all by mutually mutual control flows in control/exchange of media unit or Media Stream, media store retransmission unit, media processing units are the carriers that medium treatment technology of the present invention is realized for main control unit, media store retransmission unit and media processing units.
Signaling retransmission unit: mainly realize the isolation of internal system network and external network, control signaling SIP (the Session Initiation Protocol of equipment, conversation initialized protocol)/H248/MGCP (MediaGateway Control Protocol, MGCP) unified by the forwarding of signaling retransmission unit, realization equipment externally presents single IP (Internet Protocol) address;
Main control unit: be used for receiving and resolve the control signaling and generate control corresponding message and control media store retransmission unit and media processing units playback, recording, transmitting-receiving number, meeting, transcoding are carried out respective channel and handle;
The control signaling is the message by the international standard form, and control messages is behind each field interpretation in the control signaling, the message of the data format of transfering that is suitable for internal system of composition.
Control/exchange of media unit: be used to finish server internal control message/media data packet switch, it realizes the function of switch, is the bridge of communicating by letter between other modules, does not repeat them here.
The media store retransmission unit: finish the multi-medium data storage of magnanimity, when comprising the sound bank of realizing voice play function, realization sound-recording function to the storage of user recording.The media store retransmission unit is provided with external network interface, when medium do not need extra conversion to handle, directly by the external network interface transmitting-receiving on the unit.
The media message that sends by external network interface is the media message after the fluidisation, and this message is the message that meets the international standard form.
When realizing sound-recording business,, and in the process of recording,, just can not contain the DTMF number in Media Stream this moment so not by any DTMF number (0-9, *, #) if think recording by external network interface receiving media stream terminal (such as fixed telephone terminal); If record when finishing (such as: the end key that finishes with # number expression recording), press # this moment, just contain DTMF number (# number) in the Media Stream that receive this moment so, detect # number, and reporting main control unit, main control unit will issue control messages and close this passage and stop recording.
The media store retransmission unit comprises inner call proxy module, recording-media processing module, playback medium process module, package control module, packet receiving control module and memory module, wherein,
Inner call agency (Call Agent) module, be used to realize and main control module between control messages mutual, these message are by the control plane realization of control/exchange of media unit.Then notify sound recording processing module if analyze the control messages that receives for recording; If the playback processing module is then notified in playback.
The recording-media processing module is used for extracting the file format (WAV/AMR) that its payload is stored as appointment after the media message ordering that the reception of packet receiving control module is come.
The playback medium process module is used for finding audio files according to the parameter of playback control messages from memory module, and to audio files resolve, read source of sound valid data, the packing fluidisation be the media message that is suitable for Network Transmission; If inconsistent, need send to media processing units and handle according to the coded format of media message coded format after the sound source data fluidisation and terminal needs;
The package control module is used for the transmission media message by inside and outside network interface, and particularly, this package control module is a package-transmitting controller, is core of the present invention, specifically will be elaborated hereinafter.
The packet receiving control module, be used for receiving media message by inside and outside network interface, if the media message that receives from outer network interface just need be forwarded to media processing units with the audio files form (WAV/AMR) of the storage that needs is inconsistent, carry out sending to behind the transcoding the interior network interface of packet receiving control module by media processing units, handle for then the recording-media processing module, the destination address that also is used for containing the media message of DTMF number converts receipts impulse sender passage corresponding address to.
Memory module is used to store audio files.
Media processing units: finish voice encoding and decoding mode conversion, realize DTMF (Dual ToneMulti-Frequency, dual-tone multifrequency) transmitting-receiving number and meeting sound mixing function.
Media processing units has Ethernet interface and TDM (Time Division Multiplex andMultiplexer, time division multiplexing) interface, realize needing separately of IP user and PSTN (Public SwitchedTelephone Network, public switched telephone network) user.
Media processing units comprises call proxy module, transmitting-receiving module and meeting processing module, wherein,
The call proxy module is used to realize the mutual of control messages between main control unit and the media processing units, if control messages is then notified the transmitting-receiving resume module for transmitting-receiving message, is transcoding or the then notification of meetings processing module processing of meeting message as if control messages
The transmitting-receiving module is used to carry out the setting of digit receiver resource, and the significant number in the Media Stream is carried out validity identification; Also be used for producing number according to the control messages of main control unit;
The meeting processing module is used to handle the Media Stream from each participant, and different participants' input speech frame is synthesized together as the mixing voice frame; The speech frame of exporting to each participant is the input speech frame that mixed speech frame is filtered this participant, so just avoids this user to hear the echo of oneself.
The deficiency that audio frequency media server of the present invention provides low-cost and big capacity to overcome above-mentioned DSP and HMP on the improved basis of HMP mode is, a kind of medium treatment technology implementation that is applicable to the diverse network user based on Linux/vxworks operating system, media server of the present invention is under the control of application server, provide miscellaneous service required medium processing capacity, comprise: playback, recording, DTMF collects the digits, medium treatment technologies such as meeting, transcoding.The main points of medium treatment technology of the present invention are as follows:
One, for the parsing and the structure of audio files form:
Because dissimilar files is to the organizational form difference of audio sampling data, so need to analyze according to corresponding form.In general, file comprises description part and the data division to data.At present, WAV (Wave Form, waveform) and AMR file types such as (AdaptiveMulti-Rate, adaptive multi-rate) are supported in the processing of audio files, as shown in Figure 3, also can be supported other source of sound type certainly as requested, fully by software control.
The wav file head is as one of wave file form that uses in the multimedia, and it is to be standard with RIFF (Resource Interchange File Format, Resource Interchange File Format) form.AMR full name Adaptive Multi-Rate, adaptive multi-rate coding is mainly used in the audio frequency of mobile device, and compression ratio is bigger.
Process of analysis block diagram such as Fig. 4 of wav file and AMR file file, the structure flow process similarly.Wherein,
Resolving to wav file:
Read the file header of wav file; The extraction document header comprises the information such as bit number of digital coding mode, channel number, sample frequency, each sampling needs; Skip file description information; From voice data part reading of data.
Resolving to the AMR file:
Read the magic number of file; Read first frame data; Calculate the size of frame data according to frame head; Read frame head; Judge whether bad frame,, otherwise read this frame speech data if bad frame then reads next frame head.
Two, the voice of the fluidisation of speech data and fluidisation data structure
Fluidization treatment refers to that the data in the audio files that reads are carried out RTP (Real-timeTransportProtocol, real time transport protocol) packing handles the media message that meets the RFC3550 standard that is configured to transmit on IP network.This is comprising structure IP/UDP (UserDatagram Protocol, User Datagram Protoco (UDP))/RTP head and payload (payload) data.
If the coded format of speech data is identical with the desired code/decode format of terminal use, then do not need conversion process, directly undertaken sending by external network interface after the fluidization treatment by the playback processing module of media store retransmission unit;
If the coded format and the desired code/decode format of terminal use (as G.711a/u, G.729, G.723) of speech data are inconsistent, then need to carry out the speech data conversion, the process of fluidization treatment is finished jointly by media store retransmission unit and media processing units, and Media Stream is between the two realized by the media plane of control/exchange of media unit alternately.
Can realize the fluidization treatment process by following dual mode:
Mode one: the playback processing module of media store retransmission unit is reduced into speech data the form of PCM8 or PCM16, media processing units transfers it to corresponding coded data G.711/G.729/G.723 by algorithm, and the playback processing module of last media store retransmission unit is carried out the structure bag based on real time transport protocol RTP and handled.
Mode two: the playback processing module of media store retransmission unit is with the speech data in the audio files, such as a/u-law or AMR frame, directly G.711a/u fluidization treatment becomes or the RTP message of RFC3267 payload form, and it is G.729/G.723 modes of purpose encoding and decoding that the meeting processing module of media processing units is handled the back transcoded data with RTP again.The present invention recommends to use the second way.
Certainly for the fluidisation of wav file, need know the sound source data coded format (the sound source data coded format is in file header) in the wav file.The parameter decision that the source and destination address information of IP/UDP is got off by the main control unit band, the packaging time length information decision that the length of payload data is got off by the main control unit band.
For the fluidisation of AMR file, need become storage format the fluidisation data of transformat with reference to the rfc3267 standard.Here relate to the problem of different payload forms: byte-aligned form and bandwidth efficiency form.Need describe according to SDP in the signaling and select different forms, carry out the format conversion of source of sound speech frame in payload again.
The voice structure of fluidisation data is opposite: exactly the payload in the fluidisation data is changed to sound source data and stores.Need the RTP data that receive are sorted and dithering process in this process, the row format of going forward side by side is changed so that speech data is stored in corresponding file type by correct format.
Three, jumbo multithreading treatment technology
Each operation that each module of media store retransmission unit realizes, comprise that file header structure, rtp message load when recording is handled are extracted, source of sound parsing, data read, fluidisation when efficient voice storage and playback are handled, pack and give out a contract for a project, all adopt the multithreading treatment technology, be that every kind of operation has a plurality of thread parallels to handle, thereby realize the characteristics of multi-channel and high capacity.
A most frequently used model of operation file is to block the I/O model synchronously.In this model, the application program of user's space is carried out a system call, and this can cause application program to be blocked.As shown in Figure 5, be example with the read operation, the present invention utilizes thread family (just a plurality of thread) to simulate asynchronous read operation; Whether the decision of read request thread initiates read operation, reads file thread reading of data; By a plurality of such read request threads with read the file thread and constitute read request thread family and read file thread family; Just can simulate and asynchronously read file operation, the thread family of giving out a contract for a project that structure RTP envelope curve journey family that also having shown among the figure in addition packs handles and execution are given out a contract for a project and handled by the concurrent file thread of reading like this.The simulation of written document also is similar.When the needs execute file is operated, between read-write requests thread and reading and writing of files thread, between two thread families, communicate by letter with the mode of message queue.
In case some passage need send Media Stream, so for the speech data that is read otherwise the packing that stops and the processing of giving out a contract for a project.If handle by a process or thread entirely, be certain to cause the situation of " congested ", this has just caused restriction to big capacity; And the utilization of a plurality of thread concurrent processing is laid a good foundation to the solution of these problems.
Four, high accuracy package control technology
It is the inside and outside network interface transmission of package-transmitting controller from the package control module of media store retransmission unit that a large amount of Media Streams is arranged in the media server.For the packing of fluidisation data (rtp data) is accurately controlled at interval, package-transmitting controller of the present invention is realized by the method for the array of pointers of the thread management band temporal information of giving out a contract for a project, as shown in Figure 6, package-transmitting controller of the present invention comprises estimates package control module and time management package control module, wherein:
Estimate the media message after the package control module is used for buffer memory playback medium process module fluidisation, determine to estimate transmitting time and be articulated on the chained list of element indication of the corresponding delivery time of array of pointers.
Each network interface is the buffer memory of corresponding some all, is used for the medium message; When not having media message to handle, all buffer memorys are all on idlelist, if there is media message to need to handle, estimate that the package control module will be used for the loading media message from idle chained list idlelist application buffer memory, is articulated to this network interface time corresponding to this message then and manages on the array of pointers element of package control module management.Equal time management package control module can be articulated to these buffer memorys on the idle chained list idlelist of this network interface again after the transmission of the message on this array element is finished.
The expectation transmitting time of described media message is to determine like this: the expectation transmitting time that reads the current pointer array element that described time management package control module handling; On the basis of the expectation transmitting time that reads, increase the expectation transmitting time of regular hour surplus, browse to the described media message that is articulated in corresponding array of pointers element to guarantee the described time management module of giving out a contract for a project as described media message.
The expectation transmitting time of the media message on the chained list of the index of described array of pointers element and described array of pointers element directed has corresponding relation successively, and the expectation transmission time interval of adjacent array of pointers element is fixed.
Time management package control module is used for according to the media message on array of pointers element index reading pointer array element indication chained list successively, and is estimating that transmitting time sends; If array of pointers element linked list head does not carry any media message, this element that needs so to delay time is estimated transmitting time.
Described expectation package control module and time management package control module adopt the multithreading treatment technology to realize.Accordingly, as shown in Figure 7, medium package control method of the present invention may further comprise the steps:
Step 701: articulate step, refer to determine the expectation transmitting time of the media message that will send and described media message is articulated on the chained list of the array of pointers element indication corresponding with described expectation transmitting time;
Step 702: forwarding step refers to according to the media message on the chained list of array of pointers element index reading pointer array element indication successively and in described expectation transmitting time described media message be sent; If do not have media message on the chained list of this array of pointers element indication, this element of then delaying time is estimated transmitting time.
Below in conjunction with accompanying drawing functions of modules and step are described in detail:
The flow chart of expectation package control module as shown in Figure 8, give out a contract for a project when the expectation of estimating the package control module and to enter eternal while circulation after thread family is created by dispatching process, in this while circulation, can browse this thread and be responsible for all passages, in case find that certain passage requirement sends media message and will enter in the packing function, packing can look in the function media message that will send whether first, if carry out so according to the following steps:
The index index and the expectation transmitting time foresndtime of the current array of pointers of handling in A, the time for reading management package control thread; In order to send this first media message, the index of first media message and expectation transmitting time must be index and foresndtime index and time afterwards so, so need on index and foresndtime, keep certain surplus (index surplus and time surplus), so that time management package control thread can browse to (time management package control thread increase progressively by index browse); The computational methods of the index nextpkt_tindex of first media message and expectation transmitting time nextpkt_foresndtime are at present:
The element number of nextpkt_tindex=(index+n) % array of pointers;
The time interval of each array of pointers index representative of nextpkt_foresndtime=foresndtime+n*;
Wherein, n is a predefined index surplus (such as n=5), browses to the described media message that is articulated in corresponding array of pointers element to guarantee described time management package control thread; The time corresponding surplus is the product in the time interval of index surplus n and the representative of each array of pointers index.
The time interval of each array of pointers index representative is that the expectation transmission time interval of adjacent array of pointers element is (as the 10ms) that fixes at present, index and estimate that transmitting time is corresponding successively relation in fact, the transmission index of first media message is that current index moves n index backward, and corresponding expectation transmitting time is that current expectation transmitting time is moved n index time corresponding at interval backward.Can be articulated to this media message on the chained list of manipulative indexing of array of pointers after call number finds, the media message counter in this list structure can add 1 simultaneously.
B, calculate the index of the media message that the next one of this passage will send and estimate transmitting time, algorithm is as follows:
Nextpkt_index=nextpkt_index+ (time interval of packing interval/each index representative) % (element number of array of pointers)
Nextpkt_foresndtime=nextpkt_foresndtime+ (packing at interval)
The packing here is the integral multiple in the time interval of each index representative at interval, and the simplest situation packing is identical with the time interval that each index is represented at interval.
Second media message of the ensuing transmission of this passage just utilizes the above call number of calculating and estimates that transmitting time finds on the chained list of manipulative indexing of array of pointers, and the media message counter in this list structure can add 1 simultaneously.
The call number that is articulated of C, follow-up media message and estimate that transmitting time all repeats the B step and carries out disposes up to media message.
The media message that can guarantee according to the array of pointers element index of determining media message with upper type all can be sent out, and can not produce the phenomenon of packet loss.The media message of depositing on each pointer element does not have quantitative limitation, even there is the media message of a plurality of passages to need to send simultaneously, as long as determine the array of pointers element index according to above principle, more than the media message of a plurality of passages can leave on the chained list of same array of pointers element index correspondence, thereby provide precondition for the batch of media message sends.
Flow chart such as Fig. 9 of time management package control module, after the time management package control thread family of time management package control module is created by dispatching process, will obtain current system time, and this time rounding to second, expectation transmitting time T0 as the media message that carries on first index 0 chained list of array of pointers, current index index=0, eternal then while circulation, meeting in this while circulation:
A, browse on the chained list of the current index of array of pointers whether the media message (by the media message counter) that will send is arranged, in case find to have on the chained list of current index and will send media message and will take off these media messages, then the expectation transmitting time parameter of the address of these media messages and load information and this batch media message is passed in the sendmsg function, estimating that by this function transmitting time sends this batch message in batches, returning in the expectation transmitting time then; If on the chained list of current index, will not send media message, can call the delay time expectation transmitting time of this index chained list of delay function DelayTime so.
The expectation transmitting time of media message on the chained list of B, the current index index of renewal and current index.Update method:
Current index:
Index=(Index+1) % (array of pointers greatest member number)
The expectation transmitting time of current index correspondence:
The time interval (10ms) of each index representative of foresndtime+=
C, repeating step A, B, eternal circulation is gone down
Code is achieved 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 concerning the terminal use, if packing is shaken at interval and excessively will be had a strong impact on voice quality so, this packing accuracy at interval is the important indicator of Qos, directly influences the assessment of operator to product quality.We can say that under the situation that file reading of data and packing can in time be supplied with, Qos has just relied on packing interval accuracy fully.
Package-transmitting controller of the present invention, by control accurately and effectively in array of pointers carry index and expectation transmitting time to media message, can be efficiently all media messages of this index position sending at predetermined delivery time batch.
Five, DTMF transmitting-receiving function is supported in-band method and RFC2833 mode
DTMF transmitting-receiving function is to realize on the transmitting-receiving module of media processing units, as shown in figure 10, when the transmitting-receiving module of media processing units received that main control unit requires to open receipts impulse sender transmitting-receiving number, the setting of at first carrying out a series of digit receiver resource (comprised and creates the transmitting-receiving passage; The detection mode of voice channel parameter, DTMF number is set and activates the digit receiver resource), the media store retransmission unit is by nat (Network Address Translation then, network address translation) Media Stream that contains the DTMF number that outer net is come is forwarded on the number receiving resource of corresponding media processing units, by number receiving resource the significant number in this Media Stream is surveyed identification (meeting GB GB9038-88) with validity; Send number, produce the NAT of effective DTMF number by the media store retransmission unit according to GB9038-88 exactly and be forwarded to the purpose terminal and get on.More than be the transmitting-receiving process of having described the IP side, the transmitting-receiving of TDM side number need be incorporated into PCM (Pulse Code Modulation, pulse-code modulation) stream on the number receiving resource of media processing units by E1/T1 and make same flow processing.Configuration parameter is different when only disposing transmitting-receiving.
Main control module is by control messages the parameter of receiving impulse sender to be configured, make the receipts impulse sender in running order, when what want to collect the digits, Media Stream is that the nat by the media store retransmission unit transmits into, because outer net equipment can only be seen the outer network interface of media store retransmission unit, the destination address of its media message also is the address (ip+port) of outer network interface, therefore need the media store retransmission unit the destination address of this media message outside network interface replace to and receive impulse sender passage corresponding address, send to then and receive on the impulse sender passage, and the address of outer network interface is in store at the nat table with the mapping relations of receiving impulse sender passage corresponding address; When wanting to send number, need produce number according to the indication of the master control number of sending out message.
Six, support 3 sides and Multi-Party Conference function, maximum can be supported 64 side's audio mixings
Meeting/transcoding all is to realize on the meeting processing module of media processing units; Meeting is to allow a plurality of users to participate in the meeting, and each user can hear other users' talk.The participant of meeting can be that TDM user also can be the IP user.Crucial processing method is arranged in meeting/transcoding, and this method can be synthesized together different participants' input speech frame as the mixing voice frame; The speech frame of exporting to each participant is the input speech frame that mixed speech frame is filtered this participant, so just avoids this user to hear the echo of oneself.Each participant can be different encoding and decoding; Transcoding is a kind of special shape of meeting.
The participant of meeting can be set to " dumb sound " state, and this moment, mixer can be this participant as quiet processing, but this participant can hear other participants' sound; The participant of meeting can be set to " maintenance " state, this moment mixer as quiet processing, and this participant also can't hear other participants' sound this participant; The participant of meeting can be set to " announcement keeps " state, and as quiet processing, this participant can hear source participant's sound to mixer this participant at this moment; The participant of meeting can be set to " source participant " state, and this moment, mixer was passed to the participant that other " are announced and keep " to this participant's input, makes other participants that " announce and keep " can both hear the sound of " source participant "; " source participant " typically is used for playing back music, news and announcement or the like.
Create realization flow such as Figure 11 of meeting, when the meeting processing module receives the establishment meeting message of main control unit transmission, if Conference ID has existed and has then reported main control unit, otherwise create Conference ID and participant ID, and participant's parameter is set, enables the passage of participant's correspondence, the processing procedure of carrying out the mixing voice frame, filtering participant's self speech frame during meeting is carried out; When receiving that the participant adds the message of meeting, carry out creating participant ID equally and participant's parameter is set, enables the process of the passage of participant's correspondence; If in meeting is carried out, receive the message of cancelling the meeting participant that main control unit issues, then make the channel failure of meeting participant's correspondence and cancel corresponding participant's ID, only surplus when next as the participant, cancel Conference ID.
Package-transmitting controller of the present invention and method, the give out a contract for a project method of array of pointers of thread management band temporal information of utilization realizes media message array of pointers carry index and estimates the control accurately and effectively of transmitting time, can be efficiently all media messages of this index position sending at predetermined delivery time batch, realized the accurate control of air exercise inter-packet gap, high accuracy Qos (Quality of Service) can be provided performance, adopt the multithreading treatment technology in addition, have jumbo characteristics.
Audio frequency media server of the present invention, realize based on HMP, cost is low, not only realize the accurate control of air exercise inter-packet gap, capacity can match in excellence or beauty with special DSP, medium processing capacity in the fundamental sum enhancing business can be provided, comprise that professional sound provides, function such as meeting, interactive responses, notice and advanced speech business.

Claims (13)

1. audio frequency media package-transmitting controller is characterized in that: this device comprises estimates package control module and time management package control module, wherein,
Described expectation package control module is used for determining the expectation transmitting time of the media message that will send, also is used for described media message is articulated to the chained list of the array of pointers element indication corresponding with described expectation transmitting time;
Described time management package control module is used for according to the media message on the chained list of array of pointers element index reading pointer array element indication successively, and in described expectation transmitting time described media message is sent; If do not have media message, the expectation transmitting time of the described array of pointers element of then delaying time on the chained list of this array of pointers element indication.
2. device as claimed in claim 1 is characterized in that:
The expectation transmitting time of described media message is to determine like this: the expectation transmitting time that reads the current pointer array element that described time management package control module handling; On the basis of the expectation transmitting time that reads, increase the expectation transmitting time of regular hour surplus, browse to the described media message that is articulated in corresponding array of pointers element to guarantee described time management package control module as described media message.
3. device as claimed in claim 1 or 2, it is characterized in that: the expectation transmitting time of the media message on the chained list of the index of described array of pointers element and described array of pointers element directed has corresponding relation successively, and the expectation transmission time interval of adjacent array of pointers element is fixed.
4. device as claimed in claim 1 or 2 is characterized in that: described expectation package control module and time management package control module adopt the multithreading treatment technology to realize.
5. medium package control method is characterized in that this method comprises:
Articulate step, refer to determine the expectation transmitting time of the media message that will send and described media message is articulated on the chained list of the array of pointers element indication corresponding with described expectation transmitting time;
Forwarding step refers to according to the media message on the chained list of array of pointers element index reading pointer array element indication successively and in described expectation transmitting time described media message be sent; If do not have media message, the expectation transmitting time of this element of then delaying time on the chained list of this array of pointers element indication.
6. method as claimed in claim 5 is characterized in that: the described step that articulates realizes that by a plurality of expectations thread of giving out a contract for a project each thread is browsed its passage of being responsible for, and when finding that certain passage requires to send media message, carries out following steps:
A: the index index of the current current pointer array element of handling and expectation transmitting time foresndtime in the time for reading management package control thread;
B: the articulated index nextpkt_tindex of definite first media message that will send and expectation transmitting time nextpkt_foresndtime, wherein,
The element number of nextpkt_tindex=(index+n) % array of pointers;
The time interval of each array of pointers index representative of nextpkt_foresndtime=foresndtime+n*;
Wherein, n is predefined index surplus, browses to the described media message that is articulated in corresponding array of pointers element to guarantee described time management package control thread;
C: determine the articulated index nextpkt_tindex of subsequent media message and estimate transmitting time nextpkt_foresndtime, dispose up to all media messages, wherein:
Nextpkt_tindex=nextpkt_tindex+ (time interval of packing interval/each index representative) % (element number of array of pointers), wherein, described packing is the integral multiple in the time interval of each index representative at interval;
Nextpkt_foresndtime=nextpkt_foresndtime+ (packing at interval).
7. method as claimed in claim 5 is characterized in that: described forwarding step is realized that by a plurality of time management package control threads following steps are carried out in each time management package control thread circulation:
A: browse on the chained list of the current index of array of pointers whether the media message that will send is arranged, if have, then read described media message, and the expectation transmitting time parameter of the address of described media message and load information and this batch media message is passed to the sendmsg function; The sendmsg function is estimating that transmitting time sends this batch media message in batches, returns in the expectation transmitting time then;
If on the chained list of current index, will not send media message, the delay time expectation transmitting time of current index chained list of described time management package control thread dispatching delay function DelayTime;
B: upgrade the expectation transmitting time of media message on the chained list of current index index and current index, wherein,
Current index: index=(index+1) % (array of pointers greatest member number);
The time interval of each index representative of the expectation transmitting time of current index correspondence: foresndtime+=.
8. as claim 6 or 7 described methods, it is characterized in that: described articulating in the step, whenever articulate a media message, the media message counter of corresponding list structure adds 1; Described time management package control thread determines on the chained list of current index whether the media message that will send is arranged according to described media message counter.
9. an audio frequency media server is characterized in that, described audio frequency media server comprises audio frequency media package-transmitting controller, and this device comprises estimates package control module and time management package control module, wherein,
Described expectation package control module is used for determining the expectation transmitting time of the media message that will send, also is used for described media message is articulated to the chained list of the array of pointers element indication corresponding with described expectation transmitting time;
Described time management package control module is used for according to the media message on the chained list of array of pointers element index reading pointer array element indication successively and in described expectation transmitting time described media message being sent; If do not have media message, the expectation transmitting time of this element of then delaying time on the chained list of this array of pointers element indication.
10. audio frequency media server as claimed in claim 9 is characterized in that:
The expectation transmitting time of described media message is to determine like this: the expectation transmitting time that reads the array of pointers element that described time management package control module handling; On the basis of the expectation transmitting time that reads, increase the expectation transmitting time of regular hour surplus, browse to the described media message that is articulated in corresponding array of pointers element to guarantee described time management package control module as described media message.
11. as claim 9 or 10 described audio frequency media servers, it is characterized in that: described audio frequency media server also comprises signaling retransmission unit, main control unit and media store retransmission unit, wherein,
Described signaling retransmission unit: be used to realize the unified forwarding of server inside and outside signaling;
Described main control unit: be used to receive and resolve control signaling that described signaling retransmission unit transmits and generate control corresponding message and control the media store retransmission unit;
Described media store retransmission unit has external network interface, and the control messages that is used for issuing according to described main control unit realizes recording and voice play function, wherein, is realized the package control of media message by described audio frequency media package-transmitting controller.
12. audio frequency media server as claimed in claim 11 is characterized in that: the various operations that described media store retransmission unit is realized adopt the multithreading treatment technology to realize.
13. audio frequency media server as claimed in claim 11 is characterized in that: described audio frequency media server also comprises media processing units, and described media processing units comprises Call Agent module, transmitting-receiving module and meeting processing module, wherein,
The Call Agent module is used to realize the mutual of control messages between main control unit and the media processing units, if control messages is then notified the transmitting-receiving resume module for transmitting-receiving message, is transcoding or the then notification of meetings processing module processing of meeting message as if control messages;
The transmitting-receiving module is used to carry out the setting of digit receiver resource, and the significant number in the Media Stream is carried out validity identification; Also be used for producing number according to the control messages of main control unit;
The meeting processing module is used to handle the Media Stream from each participant, different participants' input speech frame is synthesized together as the mixing voice frame, and the speech frame of exporting to each participant is the input speech frame that mixed speech frame is filtered this participant;
Described main control unit also is used to generate the control messages to described media processing units;
The destination address that described media store retransmission unit also is used for containing the media message of dual tone multi-frequency dtmf number converts receipts impulse sender passage corresponding address to.
CN2009101429225A 2009-05-13 2009-05-13 Audio frequency media package-transmitting controller, method and audio frequency media server Expired - Fee Related CN101567853B (en)

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 (5)

* Cited by examiner, † Cited by third party
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136772A (en) * 2007-09-28 2008-03-05 华为技术有限公司 Timing transmission packet method and packet transmission module
CN101296184A (en) * 2008-05-30 2008-10-29 华为技术有限公司 Method, system and device for data transmission

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282209B1 (en) * 1998-03-02 2001-08-28 Matsushita Electric Industrial Co., Ltd. Method of and system capable of precisely clipping a continuous medium obtained from a multiplexed bit stream
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136772A (en) * 2007-09-28 2008-03-05 华为技术有限公司 Timing transmission packet method and packet transmission 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
US6865604B2 (en) Method for extracting a computer network-based telephone session performed through a computer network
US7286652B1 (en) Four channel audio recording in a packet based network
CN101567853B (en) Audio frequency media package-transmitting controller, method and audio frequency media server
EP1814291A2 (en) Method for restoring a portion of a communication session transmitted over a computer network
US7508815B2 (en) Method and system for facilitating network troubleshooting
US7486694B2 (en) Media-gateway controller and a call set up processing method for non-same codec communication
CN101517948A (en) Communication device, communication method, and recording medium
CN101352013A (en) Method and apparatus for rtp egress streaming using complementary directing file
EP1635534B1 (en) Communication management system for recording at least a portion of a communication session
CN101170611A (en) Method and system for realizing audio and video mailbox service
WO2006075390A1 (en) Repeating method, repeater, communication system, and computer program
CN108173858A (en) A kind of VOIP real-time voice webmaster processing systems based on vxworks operating system
CN100463474C (en) Medium processing system suitable for IP medium server
CN101453349B (en) Method and system for processing real-time stream media protocol
CN107453936A (en) A kind of method and gateway device for diagnosing voice delay time
KR100726462B1 (en) Intelligent integrated multi-media server
CN104871494A (en) Apparatus adapted for connecting a home network with a service provider network
CN100505042C (en) Multi-channel speech processor with increased channel density
CN117749947A (en) Multi-terminal protocol-based multi-party call processing method and system
CN101282283A (en) Method for transmitting circuit data package in CDMA2000 mobile terminal field
Islam Voice Communication in Mobile Delay-Tolerant Networks
Chin et al. FUNCTIONAL ARCHITECTURAL DESIGN FOR INTERNET TELEPHONY GATEWAY
Dang et al. 2G1325/2G5564 Practical Voice Over IP (VoIP): SIP and related protocols Spring 2006, Period 4
Yu et al. An architecture for real-time multimedia e-mail post systems based upon H. 323v2 protocols

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