WO2015127813A1 - 一种录音控制方法及sip服务器和录音服务器 - Google Patents

一种录音控制方法及sip服务器和录音服务器 Download PDF

Info

Publication number
WO2015127813A1
WO2015127813A1 PCT/CN2014/094497 CN2014094497W WO2015127813A1 WO 2015127813 A1 WO2015127813 A1 WO 2015127813A1 CN 2014094497 W CN2014094497 W CN 2014094497W WO 2015127813 A1 WO2015127813 A1 WO 2015127813A1
Authority
WO
WIPO (PCT)
Prior art keywords
recording
server
system resource
recording server
duration
Prior art date
Application number
PCT/CN2014/094497
Other languages
English (en)
French (fr)
Inventor
诸宏亮
龙翔
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2015127813A1 publication Critical patent/WO2015127813A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1046Call controllers; Call servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42221Conversation recording systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2747Remote storage of video programs received via the downstream path, e.g. from the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a recording control method, a SIP server, and a recording server.
  • recording is implemented by using port mirroring.
  • the media distribution server and the client are connected to the SBC (Session Border Controller) through the switch at the same time.
  • SBC Session Border Controller
  • the SBC acts as a signaling and media stream proxy to achieve aggregation of signaling and media streams.
  • Port mirroring is set on the switch, and the SBC signaling and media streams are sent to the media distribution server through the mirroring port.
  • the media distribution server then uses the number.
  • the signaling and the media stream are sent to the corresponding recording server, and the recording server resolves the signaling and the media stream obtained by capturing the packet through the mirroring port of the switch, so that the recording server implements the recording function.
  • the recording method in the prior art requires the SBC to be a signaling and media stream proxy to achieve aggregation of signaling and media streams, thereby increasing the cost of the SBC networking, and on the other hand, recordings that can be supported by a single recording server.
  • the number of clients is limited. If there are a large number of clients that need to be recorded, a single recording server cannot be carried, which will affect the reliability of the recording server.
  • the embodiment of the invention provides a recording control method, a SIP server and a recording server, which can effectively improve the reliability of the recording server.
  • the first aspect of the embodiment provides a recording control method, which includes:
  • the session initiation protocol SIP server receives the call request message sent by the switch;
  • the SIP server obtains recording media information from the call request message
  • the SIP server receives the loadable quantity fed back by each recording server, where the loadable quantity is the number of clients that the recording server can support recording, and the number of the client is determined by the recording server according to the recorded media information;
  • the SIP server determines the target recording server according to the loadable quantity, so that the target recording server records the RTP media stream that is sent by the switch and is mixed by the switch.
  • the recording media information includes:
  • Encoding indication information for indicating an RTP media stream encoding type after being mixed by the switch
  • Encryption indication information indicating whether the RTP media stream after being mixed by the switch is encrypted
  • Type indication information for indicating the type of the client recording that is currently requested to be recorded, wherein the recording type includes a conference recording type and a point-to-point recording type.
  • the determining, by the SIP server, the target recording server according to the loadable quantity includes:
  • the SIP server determines that the recording server with the largest load amount fed back by each of the recording servers is the target recording server.
  • the determining, by the SIP server, the target recording server according to the loadable quantity includes:
  • the SIP server determines that the recording server that is fed back by the recording server and whose loadable amount is greater than a preset threshold is the target recording server.
  • the determining, by the SIP server, the target recording server according to the loadable quantity further includes:
  • the SIP server sends the target IP address to the switch, so that the switch sends the RTP media stream that has been mixed by the switch to the target recording server through the target IP address.
  • the second aspect of the embodiment provides a recording control method, which includes:
  • the recording server receives the recording media information sent by the session initiation protocol SIP server, where the recording media information is obtained by the SIP server from the call request message, and the call request message is received by the SIP server from the switch;
  • the recording server determines a loadable quantity according to the recorded media information, where the loadable quantity is a number of clients that the recording server can support recording;
  • the recording server transmits the determined loadable quantity to the SIP server, so that the SIP server determines the target recording server according to the loadable quantity.
  • the recording server after the recording server sends the determined loadable quantity to the SIP server, the recording server further includes:
  • the target recording server records the RTP media stream that has been mixed by the switch.
  • the recording media information includes:
  • Encoding indication information for indicating an RTP media stream encoding type after being mixed by the switch
  • Encryption indication information indicating whether the RTP media stream after being mixed by the switch is encrypted
  • Type indication information for indicating the type of the client recording that is currently requested to be recorded, wherein the recording type includes a conference recording type and a point-to-point recording type.
  • the determining, by the recording server, the loadable quantity according to the recording media information includes:
  • the recording server determines a first consumption system resource required to record an RTP media stream that has been mixed by the switch according to the recording media information
  • the recording server determines current system resources available to the recording server
  • the recording server determines that the quotient of the current system resource and the first consumption system resource is the loadable quantity.
  • the recording server determines, according to the recording media information,
  • the first consumption system resources consumed by the RTP media stream after the switch is mixed for recording include:
  • the recording server calculates, according to the encoding indication information, a first system resource required to record an RTP media stream that has been mixed by the switch, and records the second system resource;
  • the recording server estimates, according to the type indication information, a recording duration required by the client that currently requests recording;
  • the recording server determines that the product of the first system resource and the recording duration is the first consumption system resource
  • the recording server calculates a second system resource required to decrypt the RTP media stream after being mixed by the switch;
  • the recording server calculates a sum of the first system resource and the second system resource
  • the recording server determines that the product of the sum of the first system resource and the second system resource and the recording duration is the first consumption system resource.
  • the recording server estimates, according to the type indication information, the client that currently requests recording
  • the required recording durations include:
  • the recording server determines, according to the type indication information, that the recording type of the client that is currently requesting recording is the conference recording type or the point-to-point recording type;
  • the recording server determines that the recording type of the client that is currently requesting recording is the conference recording type, the recording server counts the first total duration of recording the conference recording type in the recorded recording file recorded by the recording server. And the first total number of times; the recording server determines that the quotient of the first total duration and the first total number of times is an average recording duration of the conference; the recording server determines that the average duration of the conference recording is the recording duration;
  • the recording server determines, according to the type indication information, that the recording type of the client that is currently requesting recording is the point-to-point recording type, the recording server records the recording in the recording file that has been recorded by the recording server. a second total duration and a second total number of times of the point-to-point recording type; the recording server determines that the quotient of the second total duration and the second total number of times is a point-to-point recording average duration; the recording server determines the point-to-point recording average The duration is the recording time long.
  • the recording server determines that the current system resources available to the recording server include:
  • the recording server determines a total system resource available to the recording server
  • the recording server determines a third system resource currently being used by the recording server
  • the recording server determines a fourth system resource that is currently releasable by the recording server
  • the recording server calculates a difference between the total system resource and the third system resource
  • the recording server determines that the sum of the difference between the total system resource and the third system resource and the fourth system resource is the available current system resource.
  • the recording server determines that the third system resource that the recording server is currently using includes:
  • the recording server respectively determines each group of recording types that are being recorded on the recording server
  • the recording server determines, according to each of the determined recording types of each group, a second consumption system resource that is consumed by each group for recording per second;
  • the recording server respectively determines the recorded duration of each group that is recording
  • the recording server respectively determines each group of sub-consumption system resources, and the sub-consumption system resources are a product of the second consumption system resources and the recorded duration;
  • the recording server determines that the sum of all of the sub-consumption system resources is the third system resource.
  • the second consumption system resource is:
  • the recording server records system resources consumed by the conference recording type per second
  • the recording server records the system resources consumed by the point-to-point recording type per second.
  • the recording server determines The fourth system resources currently releasable by the recording server include:
  • the recording server determines an average duration of each group of recordings according to the determined recording types of each group, and the average recording duration is an average recording duration of the conference recording or an average duration of the point-to-point recording;
  • the recording server respectively determines a difference between the recorded duration of each group and the average duration of the recording
  • the recording server respectively determines a subsystem resource that is currently releasable by each group, where the subsystem resource is a product of a difference between the recorded duration and the average recording duration and a product of the second consumption system resource;
  • the recording server determines that the sum of all of the subsystem resources is a fourth system resource that is currently releasable by the recording server.
  • a third aspect of the embodiment provides a SIP server, including:
  • a first receiving unit configured to receive a call request message sent by the switch
  • An obtaining unit configured to obtain recording media information from the call request message
  • a first sending unit configured to send the recording media information to each recording server
  • a second receiving unit configured to receive a loadable quantity fed back by each recording server, where the loadable quantity is a number of clients that the recording server can support recording, and the number of the client is determined by the recording server according to the recording medium Information determination;
  • a first determining unit configured to determine, according to the loadable quantity, a target recording server, so that the target recording server records the RTP media stream that is sent by the switch and that is mixed by the switch.
  • the first determining unit includes:
  • a first determining subunit configured to determine that the recording server with the largest load amount fed back by each of the recording servers is the target recording server.
  • the first determining unit includes:
  • a second determining subunit configured to determine that the recording server fed back by the recording server is greater than a preset threshold is the target recording server.
  • the SIP server further includes:
  • a second determining unit configured to determine a target IP address of the target recording server
  • a second sending unit configured to send the target IP address to the switch, so that the switch sends the RTP media stream that is mixed by the switch to the target recording server by using the target IP address.
  • a fourth aspect of the present disclosure provides a recording server, including:
  • a third receiving unit configured to receive recording media information sent by a session initiation protocol SIP server, where the recording media information is obtained by the SIP server from a call request message, where the call request message is received by the SIP server from a switch Arrive
  • a third determining unit configured to determine a loadable quantity according to the recorded media information, where the loadable quantity is a number of clients that the recording server can support recording;
  • a third sending unit configured to send the determined loadable quantity to the SIP server, so that the SIP server determines the target recording server according to the loadable quantity.
  • the recording server further includes:
  • a fourth receiving unit configured to receive an RTP media stream that is sent by the switch and that is mixed by the switch
  • a recording unit configured to record an RTP media stream that has been mixed by the switch.
  • the third determining unit includes:
  • a third determining subunit configured to determine, according to the recording media information, a first consumption system resource that is consumed by recording the RTP media stream that is mixed by the switch;
  • a fourth determining subunit configured to determine current system resources available to the recording server
  • a fifth determining subunit configured to determine that the quotient of the current system resource and the first consuming system resource is the loadable quantity.
  • the third determining subunit includes:
  • a first calculating module configured to calculate, according to the coding indication information of the recording media information, The RTP media stream after the switch is mixed to record the first system resources required per second;
  • a second calculating module configured to estimate, according to the type indication information of the recorded media information, a recording duration required by the client that currently requests recording;
  • a first determining module configured to determine, according to the encrypted indication information of the recorded media information, whether the RTP media stream that is mixed by the switch is encrypted
  • a second determining module configured to determine, if the first determining module determines not to encrypt, a product of the first system resource and the recording duration as the first consumption system resource;
  • a third calculating module configured to: if the first determining module determines the encryption, calculate a second system resource required to decrypt the RTP media stream that is mixed by the switch;
  • a fourth calculating module configured to calculate a sum of the first system resource and the second system resource
  • a third determining module configured to determine that a product of the sum of the first system resource and the second system resource and the recording duration is the first consumption system resource.
  • the second computing module includes:
  • a first determining submodule configured to determine, according to the type indication information, that a recording type of the client that is currently requesting recording is the conference recording type or the point-to-point recording type;
  • a second determining submodule configured to: if the first determining submodule determines that the recording type of the client that is currently requesting recording is the recording type of the conference, and then record the recorded recording file in the recording server to record the conference a first total duration and a first total number of times of the recording type; determining that the quotient of the first total duration and the first total number of times is an average recording duration of the conference; determining that the average recording duration of the conference is the recording duration;
  • a third determining submodule configured to: if the first determining submodule determines that the recording type of the client that is currently requesting recording is the point-to-point recording type, the recording of the recording file recorded by the recording server is recorded The second total duration and the second total number of times of the point-to-point recording type are determined; the quotient of the second total duration and the second total number of times is determined as the average duration of the point-to-point recording; and the average duration of the point-to-point recording is determined to be the recording duration.
  • the fourth determining subunit includes:
  • a fourth determining module configured to determine a total system resource available to the recording server
  • a fifth determining module configured to determine a third system resource that the recording server is currently using
  • a sixth determining module configured to determine a fourth system resource that is currently releasable by the recording server
  • a fifth calculating module configured to calculate a difference between the total system resource and the third system resource
  • a seventh determining module configured to determine, by the recording server, that a sum of the difference between the total system resource and the third system resource and the fourth system resource is the available current system resource.
  • the fifth determining module includes:
  • a fourth determining submodule configured to respectively determine each group of recording types being recorded on the recording server
  • a fifth determining sub-module configured to respectively determine, according to each of the determined recording types of each group, a second consumption system resource that is consumed by each group for recording per second; and the second consumption system resource is a recording station of the recording server The system resource of the conference recording type consumed per second, or the system resources consumed by the recording server to record the point-to-point recording type per second;
  • a sixth determining sub-module configured to respectively determine a recorded duration of each group that is recording
  • a seventh determining submodule configured to separately determine each group of sub-consuming system resources, where the sub-consumption system resource is a product of the second consumption system resource and the recorded duration;
  • an eighth determining submodule configured to determine that the sum of all the sub-consuming system resources is the third system resource.
  • the sixth determining module includes:
  • a ninth determining sub-module configured to determine, according to each of the determined recording types of each group, an average duration of each group of recordings, where the average recording duration is an average recording duration of the conference recording or an average duration of the point-to-point recording;
  • a tenth determining submodule configured to respectively determine a difference between the recorded duration of each group and the average duration of the recording
  • An eleventh determining submodule configured to respectively determine a currently releasable subsystem resource of each group, where the subsystem resource is a product of a difference between the recorded duration and the recording average duration and the second consumption system resource ;
  • a twelfth determining submodule for determining a sum of all of the subsystem resources for the recording service The fourth system resource that is currently freed by the device.
  • a fifth aspect of the embodiment provides a recording system, including:
  • the client currently requesting recording
  • the embodiment of the present invention provides a recording control method, a SIP server, and a recording server.
  • the recording control method includes: a session initiation protocol SIP server receives a call request message sent by a switch, and obtains recording media information from the call request message.
  • the SIP server sends the recording media information to each recording server, the SIP server receives the loadable quantity fed back by each recording server, and the SIP server determines the target recording server according to the loadable quantity. That is, during the recording process, the SIP server performs load balancing according to the loadable amount determined by the recording server, and determines that the target recording server that satisfies the condition records the RTP media stream sent by the switch, thereby ensuring that the target recording server is in the recording process. Reliability, and the target recording server for recording can be determined by the SIP server, thereby reducing the cost of networking.
  • FIG. 1 is a flow chart of steps of a preferred embodiment of a recording control method according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a connection structure of a preferred embodiment of the composition and connection relationship of each network element of the recording control method provided by the embodiment of the present invention
  • FIG. 3 is a flow chart of steps of another preferred embodiment of a recording control method according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of interaction of another preferred embodiment of a recording control method according to an embodiment of the present invention.
  • FIG. 5 is a flow chart of steps of a preferred embodiment of a recording control method according to an embodiment of the present invention.
  • FIG. 6 is a flow chart of steps of another preferred embodiment of a recording control method according to an embodiment of the present invention.
  • FIG. 7 is a flow chart showing steps of another preferred embodiment of a recording control method according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a preferred embodiment of a SIP server according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of another preferred embodiment of a SIP server according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram of a preferred embodiment of a recording server according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of another preferred embodiment of a recording server according to an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of another preferred embodiment of a recording server according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic structural diagram of another preferred embodiment of a SIP server according to an embodiment of the present disclosure.
  • FIG. 14 is a schematic structural diagram of another preferred embodiment of a recording server according to an embodiment of the present invention.
  • Embodiments of the present invention provide a recording control method by which a target recording server for recording can be determined.
  • the session initiation protocol SIP server receives a call request message sent by the switch.
  • the switch is an IP-PBX (Private Branch eXchange).
  • IP-PBX Primary Branch eXchange
  • the IP-PBX can be used to process client registrations, calls, outgoing relays, create recording systems, and interact with instructions from the recording server.
  • the client when the client determines that the recording needs to be performed, the client sends a call request message to the IP-PBX. After the IP-PBX receives the call request message sent by the client, the IP-PBX sends the call request message to the client and the SIP server according to the call request message. Establish a SIP session with the recording server.
  • SIP Session Initiation Protocol
  • the SIP server is a device that processes messages and recording commands sent by the IP-PBX and is also responsible for interacting with the recording server.
  • the client initiates a call and a call for the user
  • the client can include an IP phone and a PC client.
  • a plurality of the clients are connected to the IP-PBX through a switch.
  • the client can request recording in two ways. One is that the user presses the recording button of the client; the other is that the IP-PBX determines whether to automatically start automatic recording of the client according to the recording permission of the client.
  • the IP-PBX establishes a recording system for recording the client currently recording the recording according to the call request message sent by the client, and joins the client and the SIP server that establish a SIP session with the IP-PBX to the recording system.
  • Each client joining the recording system processes the voice data of the call into an RTP media stream.
  • the IP-PBX processes the received RTP media stream of each client.
  • the specific processing process is a mixing process, wherein the mixing process refers to a process of mixing various sound sources such as dialogue, music, and sound effects.
  • the IP-PBX generates a call request message according to the mixed RTP media stream.
  • the SIP server that has joined the recording system receives the call request message sent by the IP-PBX.
  • the SIP server obtains recording media information from the call request message.
  • the SIP server obtains recording media information according to the call request message, and the recording media information is used to enable the recording server to determine respective loadable quantities according to the recording media information, so that the SIP server determines according to the load condition of each recording server. It is suitable for the recording server that records the call process of the client requesting recording.
  • the SIP server sends the recording media information to each recording server.
  • the SIP server sends the obtained recording media information to the recording server cluster connected to the SIP server, so that each recording server in the recording server cluster can receive the recording media information.
  • the SIP server receives a loadable quantity fed back by each recording server.
  • each recording server After each recording server receives the recording media information, each recording server determines the respective loadable amount according to the recording media information.
  • the loadable quantity is the number of clients that the recording server can support recording, and the number of the clients is determined by the recording server according to the recorded media information.
  • the SIP server determines a target recording server according to the loadable quantity.
  • the SIP server receives the loadable quantity sent by each recording server, and determines a recording server that satisfies the preset condition according to the received loadable quantity, and determines that the recording server that meets the preset condition is the target recording server, and establishes and The SIP session of the target recording server to add the target recording server to the already created recording system, so that the target recording server records the mixed RTP media stream sent by the IP-PBX.
  • the SIP server obtains the recording media information according to the call request message, and sends the obtained recording media information to the plurality of recording servers, and receives the loadable quantity returned by each recording server, and returns according to each recording server.
  • the load quantity is load-balanced to determine a target recording server that satisfies the preset condition, so that the target recording server records the IP-PBX-processed RTP media stream.
  • the target recording server that satisfies the preset condition is determined by the SIP server, that is, the target recording server is suitable for recording the call of the client that needs to be recorded, thereby avoiding the recording server that is already full or nearly full. Reduce the reliability of the recording process.
  • FIG. 1 specifically illustrates the recording control method.
  • FIG. 2 illustrates the composition and connection relationship of each network element of the recording system, and further relates to the embodiment shown in FIG. 3 and FIG. Describe in detail how the SIP server determines the target recording server:
  • the SIP server receives a call request message sent by the switch.
  • the switch that is, the IP-PBX establishes a SIP session with the client, the SIP server, and the recording server respectively according to the call request message sent by the client requesting the recording.
  • the specific process of the IP-PBX re-negotiating with the client requesting the recording to establish a SIP session so that the client joins the recording system is:
  • the IP-PBX receives a call request message sent by the client
  • the IP-PBX returns a learn message to the client
  • the client returns a 200 OK message to the IP-PBX;
  • the IP-PBX sends a response message ACK to the client.
  • the IP-PBX establishes a recording system and calls the SIP server to establish a SIP session with the IP-PBX.
  • the SIP server receives the call request message invent sent by the IP-PBX;
  • the SIP server returns a 200 OK message to the IP-PBX;
  • the IP-PBX sends a response message ACK to the SIP server.
  • the SIP server obtains recording media information from the call request message.
  • the SIP server that has joined the recording system After receiving the call request message invent, the SIP server that has joined the recording system acquires the recorded media information of the recording from the invent message SDP.
  • the SDP Session Description Protocol
  • Session Description Protocol is a multimedia session description provided for the purpose of session notification, session invitation, and other forms of multimedia session initialization.
  • the recording media information includes:
  • the coding type is mainly G.711, G.723.1, G.729A, and G.729AB.
  • the coding type in this embodiment is only for example, and is not limited to the above coding mode.
  • Encryption indication information indicating whether the RTP media stream after being mixed by the switch is encrypted.
  • Type indication information for indicating the type of the client recording that is currently requested to be recorded, wherein the recording type includes a conference recording type and a point-to-point recording type.
  • the SIP server sends the recording media information to each recording server.
  • the SIP server transmits the recorded media information to a recording server connected to the SIP server.
  • the specific manner in which the SIP server is connected to the recording server is:
  • the SIP server sends a heartbeat to each recording server
  • the heartbeat is carried by the SIP message.
  • the SIP server receives the heartbeat response returned by each recording server
  • the SIP server transmits the recorded media information to each recording server that receives the heartbeat response.
  • the recording media information can be sent to each recording server through a Socket message.
  • the SIP server receives a loadable quantity fed back by each recording server.
  • Step 304 in this embodiment is the same as the process in step 104 shown in FIG. 1, and details are not described herein again.
  • the SIP server determines a target recording server according to the loadable quantity.
  • the SIP server receives the loadable quantity returned by each recording server through the Socket message, and determines a target recording server that satisfies the preset condition according to the loadable quantity determined by each of the recording servers.
  • the preset condition can be:
  • the SIP server determines that the recording server with the largest load amount fed back by each of the recording servers is the target recording server.
  • the recording server with the largest load capacity is the target recording server.
  • the target recording server can support the largest number of clients for recording. Recording through the target recording server can ensure the reliability during recording.
  • the preset condition can also be:
  • the SIP server determines that the recording server that is fed back by the recording server and whose loadable amount is greater than a preset threshold is the target recording server.
  • the SIP server predetermines a preset threshold of the loadable amount, and the recording server whose load amount is greater than the preset threshold is relatively idle.
  • the SIP server determines a relatively idle recording server, that is, the recording server whose load quantity is greater than a preset threshold is the target recording server, and the recording is completed by the relatively idle target recording server, which can effectively ensure the reliable recording process. Sex.
  • the SIP server can randomly select or select a recording server with a small number of times of use as the target server.
  • the specific manner in which the SIP server selects the target server is not limited, as long as the selected target server can reliably complete the recording.
  • the SIP server determines a target IP address of the target recording server.
  • the target IP address of the target recording server is obtained.
  • the SIP server sends the target IP address to the switch.
  • the SIP server sends the target IP address of the target recording server it acquires to the switch, that is, the IP-PBX.
  • the SIP server sends the target IP address to the IP-PBX by using a 200 OK message.
  • the IP-PBX establishes a SIP session with the target recording server.
  • the specific establishment process is the same as that of the IP-PBX and the SIP server. For details, refer to FIG. 4, and details are not described herein.
  • the IP-PBX joins the target recording server that established the SIP session to the recording system. So that the IP-PBX sends the RTP media stream that has been mixed by the IP-PBX to the target recording server through the target IP address, so that the target recording server will mix the RTP media stream. Stored as a recording file.
  • the SIP server receives the loadable quantity fed back by each recording server, and determines that the recording server that meets the preset condition is the target recording server, and the target recording server may be the recording server with the largest load amount, or A recording server that can load more than a preset threshold.
  • the SIP server determines the target recording server by the loadable quantity returned by each recording server, so that the SIP server equalizes the loadable amount of each recording server, thereby selecting a recording server that satisfies the preset condition, thereby making the recording of the request.
  • the recording server on which the client performs recording is an idle or relatively idle recording server, and the recording server for recording the current recording is determined according to the loadable quantity, thereby effectively avoiding the overload of the recording server, that is, no more than a single recording server.
  • the number of clients that can support recording makes the recording process more reliable.
  • FIG. 1 to FIG. 4 illustrates how the SIP server implements the recording control method.
  • the following describes an example of how the recording server implements the recording control method in conjunction with the embodiment shown in FIG. 5:
  • the recording server receives the recording media information sent by the session initiation protocol SIP server.
  • the recording media information is obtained by the SIP server from a call request message, and the call request message is received by the SIP server from the switch IP-PBX.
  • the IP-PBX establishes a recording system according to the call request message sent by the client, and joins the client and the SIP server that establish a SIP session with the IP-PBX to the recording system.
  • the IP-PBX how to set up the recording system is shown in the embodiment shown in FIG. 1 and will not be described in detail in this embodiment.
  • the recording server receives the recording medium sent by the SIP server that has joined the recording system information.
  • the specific content of the recording media information is shown in the embodiment shown in FIG. 1 and will not be described in detail in this embodiment.
  • the recording server determines a loadable quantity according to the recorded media information.
  • the loadable quantity is the number of clients that the recording server can support recording.
  • the recording server sends the determined loadable quantity to the SIP server.
  • the recording server connected to the SIP server transmits the loadable quantity that it has determined to the SIP server, so that the SIP server determines the target recording server according to the loadable quantity.
  • the recording server determines the loadable quantity according to the recorded media information, so that the SIP server determines, according to the loadable quantity, the number of clients that can be recorded by each recording server connected thereto, and can be supported according to each recording server.
  • the number of clients recorded is determined by the target recording server used for recording this time.
  • the target recording server is determined according to the load of the recording server, thereby effectively avoiding the failure of the recording process caused by recording the recording server exceeding the performance index of the single recording server, thereby effectively improving the recording.
  • the reliability of the recording server is performed according to the load of the recording server, thereby effectively avoiding the failure of the recording process caused by recording the recording server exceeding the performance index of the single recording server, thereby effectively improving the recording.
  • the recording server records the mixed RTP media stream to be converted into a recording file, that is, no matter how many clients participate in the recording, during the recording process, the IP-PBX only mixes to form an RTP.
  • the media stream does not need to copy multiple RTP media streams, so the target recording server does not need to copy multiple RTP media streams, thus effectively saving bandwidth.
  • FIG. 5 illustrates how the recording server implements the recording control method.
  • FIG. 6 illustrates how the target recording server can record the call process of the client currently requesting recording:
  • the recording server receives the recording media information sent by the session initiation protocol SIP server.
  • the recording server receives the recorded media information sent by the SIP server that has joined the recording system.
  • the recorded media information includes:
  • Encoding indication information for indicating an RTP media stream encoding type after being mixed by the switch
  • the coding types are mainly: G.711, G.723.1, G.729A, and G.729AB.
  • Encryption indication information indicating whether the RTP media stream after being mixed by the switch is encrypted
  • Type indication information for indicating the type of the client recording that is currently requested to be recorded, wherein the recording type includes a conference recording type and a point-to-point recording type.
  • the recording server determines a loadable quantity according to the recorded media information.
  • the recording server determines a first consumption system resource required to record an RTP media stream that has been mixed by the switch according to the recording media information
  • the first consumption system resource is recorded as M.
  • the recording server determines current system resources available to the recording server
  • the current system resources available are recorded as N in this embodiment.
  • the recording server determines that the quotient of the current system resource and the first consumption system resource is the loadable quantity.
  • the loadable quantity is N/M.
  • the recording server sends the determined loadable quantity to the SIP server.
  • the recording server sends the respective loadable quantity to the SIP server, so that the SIP server determines that the recording server that meets the preset condition is the target recording server, and determines that the recording server that satisfies the preset condition is the specific target recording server.
  • the process is shown in the embodiment shown in FIG. 3, and details are not described herein again.
  • the target recording server receives an RTP media stream sent by the switch.
  • the target recording server receives the RTP media stream sent by the IP-PBX and transmitted through the IP-PBX.
  • the target recording server records the RTP media stream that has been mixed by the switch.
  • the target recording server After receiving the mixed RTP media stream, the target recording server converts the recorded RTP media stream into a recording file to complete the recording, thereby realizing the storage and management of the recording file, and facilitating the recording and playback of the recording.
  • the recording server consumes the first consumption system resource M required for recording the RTP media stream that has been mixed by the switch according to the recording media information, and determines the The current system resource N available to the recording server and the number of loadables is determined to be N/M.
  • the recording server calculates a ratio of the available current system resource N to the first consumed system resource M, and determines the ratio as a loadable quantity, and sends the loadable quantity to the SIP server, so that the SIP server Determine the target recording server. Therefore, the recording server capable of supporting the preset condition is used as the target recording server, thereby effectively avoiding the situation that the recording server that is already full or near full load performs recording to reduce the reliability of the recording process.
  • FIG. 6 illustrates how the target recording server records the call process of the client currently requesting recording.
  • the following describes the recording server how to determine the respective loadable numbers in conjunction with the embodiment shown in FIG. 7:
  • the recording server receives the recording media information sent by the session initiation protocol SIP server.
  • the step 701 of this embodiment is the same as the step 601 shown in FIG. 6, and details are not described herein again.
  • the recording server calculates, according to the encoding indication information, a first system resource required to record an RTP media stream that is mixed by the switch.
  • the recording server determines the encoding mode of the mixed RTP media stream according to the encoding indication information of the recording media information.
  • the recording server calculates the first system resource required to convert the mixed RTP media stream into a recording file by using an encoding method such as G.711, G.723.1, G.729A or G.729AB, and the first system resource System resources are recorded as A.
  • the recording server estimates, according to the type indication information, a recording duration required by the client that currently requests recording;
  • the recording server determines, according to the type indication information, that the recording type of the client that is currently requesting recording is the conference recording type or the point-to-point recording type.
  • the recording server estimates the recording duration required by the client currently requesting recording based on the determined recording type.
  • the recording server determines that the recording type of the client currently requesting recording is the conference recording type, the recording server determines that the recording file of the conference recording type has been recorded on the recording server, and counts the recording in the recording file. a first total duration of the conference recording type and a first total number of times; the recording server determines that the first total duration and the first total number of quotients are conferences The average duration of the recording; the recording server determines that the average recording duration of the conference is the recording duration and is recorded as B.
  • the recording server determines, according to the type indication information, that the recording type of the client that is currently requesting recording is the point-to-point recording type, the recording server determines that a recording file of a point-to-point recording type has been recorded on the recording server, and counts Recording, in the recorded file that has been recorded by the recording server, a second total duration and a second total number of times of the point-to-point recording type; the recording server determines that the quotient of the second total duration and the second total number of times is The average duration of the point-to-point recording; the recording server determines that the average length of the point-to-point recording is the recording duration and is recorded as C.
  • the recording server determines, according to the encryption indication information, whether the RTP media stream that has been mixed by the switch is encrypted, if not, proceed to step 705, and if yes, proceed to step 706;
  • the recording server determines whether the mixed RTP media stream is encrypted according to the encryption indication information of the recording media information.
  • the recording server determines that a product of the first system resource and the recording duration is the first consumption system resource.
  • the recording server determines that the client currently requesting recording is a point-to-point recording type, it is determined that the first consumption system resource D is a product of the determined first system resource and the average duration of the point-to-point recording.
  • the recording server determines that the client currently requesting recording is a conference recording type, determining that the first consumption system resource is a product of the determined first system resource and the average duration of the conference recording.
  • the recording server determines the recording type of the client currently requesting recording, and determines the average duration of the recording of the recording type on the recording server according to the determined recording type, thereby estimating the length of time that the client currently requesting recording may take the recording currently. And determining that the client currently requesting the recording needs to occupy the first consumption system resource of the recording server.
  • the recording server calculates and decrypts an RTP media stream that is mixed by the switch.
  • the second system resource required
  • the recording server determines that the mixed RTP media stream is encrypted, the recording server calculates a second system resource required to decrypt the mixed RTP media stream per second, and records it as E.
  • the recording server calculates a sum of the first system resource and the second system resource.
  • the recording server calculates that the sum of the first system resource and the second system resource is A+E.
  • the recording server determines that a product of a sum of the first system resource and the second system resource and the recording duration is the first consumption system resource.
  • the recording server determines that the client currently requesting recording is a point-to-point recording type, determining that the first consumption system resource is the determined sum of the first system resource and the second system resource and the point-to-point recording average The product of the duration.
  • the first consumption system resource M (A+E)*C.
  • the recording server determines that the client currently requesting recording is a conference recording type, determining that the first consumption system resource is the determined sum of the first system resource and the second system resource and the average recording duration of the conference Product.
  • the first consumption system resource M (A+E)*B.
  • the recording server determines total system resources available to the recording server.
  • the recording server obtains the total system resource of the recording server and the threshold percentage of the system setting through the operating system of the recording server.
  • the recording server determines that the total system resource F available to the recording server is the product of the total system resource and the threshold percentage set by the system.
  • the recording server determines a third system resource that is currently being used by the recording server.
  • the recording server determined by the step determines that the system resource that has been occupied by other clients on the recording server is the third system resource;
  • the recording server determines each group of recording types that are being recorded on the recording server.
  • the recording server determines each group of recordings that are being recorded to other clients on the recording server.
  • the type of sound which can be a point-to-point recording type or a conference recording type.
  • the recording server determines, according to each of the determined recording types of each group, a second consumption system resource that each group needs to consume per second, and records the second consumption system resource as G;
  • the second consumption system resource G is: the recording server records the system resource G 1 consumed by the conference recording type per second, or the recording server records the point-to-point recording type required per second. Resource G 2 .
  • the recording server respectively determines the recorded durations H of each group that is recording
  • the recording server respectively determines each group of sub-consumption system resources I, and the sub-consumption system resources are a product of the second consumption system resources and the recorded duration;
  • the recording server determines that the sum of all of the sub-consumption system resources is the third system resource.
  • the recording server determines a fourth system resource that is currently releasable by the recording server.
  • the recording server determines the average duration of each group of recordings according to the determined recording types of each group, and the average recording duration is the average recording time B of the conference recording or the average duration C of the point-to-point recording;
  • step 703 The specific calculation method of the average duration B of the conference recording and the average duration C of the point-to-point recording is shown in step 703, and details are not described herein again.
  • the recording server respectively determines a difference between the recorded duration of each group and the average duration of the recording
  • step 710 for the specific calculation method of the recorded recording duration H of each group that is recording the recording, and details are not described herein again.
  • the recording server respectively determines a subsystem resource that is currently releasable by each group, where the subsystem resource is a product of a difference between the recorded duration and the average duration of the recording and the second consumption system resource G;
  • step 710 For the specific calculation manner of the second consumption system resource G, refer to step 710, and details are not described herein again.
  • the recording server determines the subsystem resources currently releasable by its respective groups, the recording server determines that the sum of all the subsystem resources is the fourth system resource L currently releasable by the recording server.
  • the recording server calculates a difference between the total system resource and the third system resource.
  • the recording server calculates a difference between the total system resource and the third system resource as F-J;
  • the recording server determines that a sum of the difference between the total system resource and the third system resource and the fourth system resource is the available current system resource.
  • the recording server determines that the available current system resource N is (F-J)+L.
  • the recording server determines a loadable quantity according to the recorded media information.
  • the recording server sends the determined loadable quantity to the SIP server.
  • the target recording server receives an RTP media stream sent by the switch.
  • the target recording server records the RTP media stream that has been mixed by the switch.
  • the steps 715 to 717 in this embodiment are the same as the steps 603 to 605 shown in FIG. 6, and details are not described herein again.
  • the recording server determines the first consumption system resource M, and determines the The current system resource N available to the recording server and the number of loadables is determined to be N/M.
  • the recording server calculates a ratio of the available current system resource N to the first consumed system resource M, and determines the ratio as a loadable quantity, and sends the loadable quantity to the SIP server, so that the SIP server Determine the target recording server. Therefore, the recording server capable of supporting the preset condition is used as the target recording server, thereby effectively avoiding the situation that the recording server that is already full or near full load performs recording to reduce the reliability of the recording process.
  • the recording control method is described in detail in the embodiment shown in FIG. 1 to FIG. 7. In order to better understand the recording control method provided by the present invention, the recording control method provided by the present invention is further described in detail below. :
  • the client currently requesting recording sends a call request message invent to the IP-PBX;
  • the IP-PBX After the IP-PBX receives the call request message sent by the client, the IP-PBX returns a learn message to the client.
  • the client returns a 200 OK message to the IP-PBX;
  • the IP-PBX sends a response message ACK to the client;
  • the IP-PBX establishes a SIP session with the client requesting the recording
  • the IP-PBX establishes a recording system for recording the call process of the client requesting the recording of the recording, and joins the client that establishes the SIP session with the IP-PBX into the recording system;
  • the SIP server returns a 200 OK message to the IP-PBX;
  • the IP-PBX sends a response message ACK to the SIP server;
  • IP-PBX calls the SIP server to establish a SIP session successfully
  • the IP-PBX joins the SIP server that successfully establishes the SIP session into the recording system
  • Each client that has joined the recording system processes the voice data of the call into an RTP media stream
  • the IP-PBX performs mixing processing on the received RTP media streams of each client
  • the recorded media information includes:
  • Encoding indication information for indicating an RTP media stream encoding type after being mixed by the switch
  • the coding types are mainly: G.711, G.723.1, G.729A, and G.729AB;
  • Encryption indication information indicating whether the RTP media stream after being mixed by the switch is encrypted
  • Type indication information indicating the type of the client recording that is currently requested to be recorded, wherein the recording type includes a conference recording type and a point-to-point recording type;
  • the IP-PBX sends the recording media information to the SIP server by using a call request message
  • the SIP server After receiving the call request message invent, the SIP server obtains the recorded media information of the recording from the invent message SDP;
  • the SIP server receives the heartbeat response returned by each recording server
  • the SIP server sends the recorded media information to each recording server that receives the heartbeat response;
  • the recording server receives the recording media information sent by the SIP server;
  • the recording server calculates, according to the encoding indication information, a first system resource A required to record the RTP media stream after being mixed by the IP-PBX;
  • the recording type of the client currently requesting recording is the conference recording type
  • the recording server determines that the recording file of the conference recording type has been recorded on the recording server, and records the first total duration and the first total number of recordings of the conference recording type in the recording file; the recording server determines the first The total duration and the first total number of times is the average duration of the conference recording; the recording server determines that the average recording duration of the conference is the recording duration B;
  • the recording server determines, according to the encryption indication information, the RTP media stream encrypted by the IP-PBX mixing;
  • the recording server calculates a second system resource E required to decrypt the mixed RTP media stream per second;
  • the recording server calculates a sum of the first system resource and the second system resource as A+E;
  • the recording server determines that the product of the sum of the first system resource and the second system resource and the average duration of the conference recording is the first consumption system resource;
  • the first consumption system resource M (A+E)*B;
  • the recording server obtains, by using an operating system of the recording server, a total system resource of the recording server and a threshold percentage of the system setting;
  • the recording server determines that the total system resource F available to the recording server is a product of a total system resource and a threshold percentage set by the system;
  • the recording type of the first group is the conference recording type
  • the recording type of the second group is the conference recording type
  • the third group of recording types is a point-to-point recording type
  • the fourth group of recording types is a point-to-point recording type
  • the recording type of the fifth group is a point-to-point recording type
  • the recording server respectively determines each group of recording types that are being recorded on the recording server
  • the recording server determines that the system resource required to record the conference recording type per second is G 1 and determines the system resource G 2 required to record the point-to-point recording type per second;
  • the recording server determines that the system resources consumed by the first group of the recording servers to record the conference recording type per second are G 1 and the recorded duration H 1 ;
  • the recording server determines a system resource G 1 and a recorded duration H 2 that are consumed by the second group of the recording server to record the conference recording type per second;
  • the recording server determines a system resource G 2 and a recorded duration H 3 that are consumed by the third group of the recording server to record the point-to-point recording type per second;
  • the recording server determines a system resource G 2 and a recorded duration H 4 that are consumed by the fourth group of the recording server to record the point-to-point recording type per second;
  • the recording server determines a system resource G 2 and a recorded duration H 5 that are consumed by the fifth group of the recording server to record the point-to-point recording type per second;
  • the recording server respectively determines each group of sub-consumption system resources I;
  • the first group of sub-consumption system resources I 1 G 1 *H 1 ;
  • the second group of sub-consumption system resources I 2 G 1 * H 2 ;
  • the third group of sub-consumption system resources I 3 G 2 * H 3 ;
  • the fourth group of sub-consumption system resources I 4 G 2 * H 4 ;
  • the fifth group of sub-consumption system resources I 5 G 2 * H 5 ;
  • the recording server determines that the sum of all the sub-consumption system resources is the third system resource
  • the third system resource J I 1 +I 2 +I 3 +I 4 +I 5 ;
  • the recording server is performing a bit-point recording type in the recording type of the recording, and the recording server determines the average duration C of the point-to-point recording;
  • the recording server determines that the recording file of the point-to-point recording type has been recorded on the recording server, and counts the second total duration and the second total number of times of recording the point-to-point recording type in the recording file that has been recorded by the recording server;
  • the recording server determines that the quotient of the second total duration and the second total number of times is a point-to-point recording average duration C;
  • the recording server respectively determines a difference between the recorded duration of each group and the average duration of the recording
  • the difference between the recorded duration of the first group and the average duration of the recording is H 1 -B;
  • the difference between the recorded duration of the second group and the average duration of the recording is H 2 -B;
  • the difference between the recorded duration of the third group and the average duration of the recording is H 3 -C;
  • the difference between the recorded duration of the fourth group and the average duration of the recording is H 4 -C;
  • the difference between the recorded duration of the fifth group and the average duration of the recording is H 5 -C;
  • the recording server determines a currently available subsystem resource K of each group, and the subsystem resource K is a product of the difference between the recorded duration and the average recording duration and the second consumption system resource G;
  • the first set of currently releasable subsystem resources K 1 (H 1 -B)*G 1 ;
  • the second set of currently releasable subsystem resources K 2 (H 2 -B)*G 1 ;
  • the third group of currently releasable subsystem resources K 3 (H 3 - C) * G 2 ;
  • the fourth group of currently releasable subsystem resources K 4 (H 4 - C) * G 2 ;
  • the fifth group of currently releasable subsystem resources K 5 (H 5 -C)*G 2 ;
  • the recording server determines that the sum of all the subsystem resources is the fourth system resource L currently releasable by the recording server;
  • the fourth system resource L K 1 +K 2 +K+K 4 +K 5 ;
  • the recording server calculates a difference between the total system resource and the third system resource as F-J;
  • the recording server sends the determined loadable quantity to the SIP server
  • the SIP server After receiving the loadable quantity returned by all the recording servers connected to the heartbeat, the SIP server selects the recording server with the largest load quantity as the target recording server for recording the passing process of the client currently recording the request;
  • the SIP server determines a target IP address of the target recording server
  • the IP-PBX establishes a SIP session with the target recording server, and joins the target recording server to the recording system;
  • the IP-PBX sends the mixed RTP media stream to the target recording server through the target IP address
  • the target recording server records the mixed RTP media stream to be stored as a recording file.
  • the SIP server includes:
  • the first receiving unit 801 is configured to receive a call request message sent by the switch.
  • the obtaining unit 802 is configured to obtain the recorded media information from the call request message.
  • a first sending unit 803, configured to send the recording media information to each recording server
  • a second receiving unit 804 configured to receive a loadable quantity fed back by each recording server, where the loadable quantity is a number of clients that the recording server can support recording, and the number of the clients is determined by the recording server according to the recording Media information is determined;
  • the first determining unit 805 is configured to determine, according to the loadable quantity, a target recording server, so that the target recording server records the RTP media stream that is sent by the switch and that is mixed by the switch.
  • the obtaining unit 802 acquires the recording media information according to the call request message, the first sending unit 803 sends the obtained recording media information to the plurality of recording servers, and the second receiving unit 804 receives the loadable load returned by each recording server.
  • the quantity, first determining unit 805 performs load balancing according to the loadable quantity returned by each recording server to determine a target recording server that satisfies the preset condition, thereby causing the target recording server to record the IP-PBX processed RTP media stream.
  • the first recording unit 805 determines the target recording server that satisfies the preset condition, that is, the target recording server is suitable for recording the call of the client that needs to be recorded, thereby avoiding the recording server that is already full or nearly full. Recording to reduce the reliability of the recording process.
  • FIG. 8 illustrates the specific structure of the SIP server provided by the embodiment of the present invention.
  • the specific structure of the SIP server that can determine the target recording server is described in detail below with reference to the embodiment shown in FIG. 9:
  • the SIP server includes:
  • the first receiving unit 901 is configured to receive a call request message sent by the switch.
  • the obtaining unit 902 is configured to obtain the recorded media information from the call request message.
  • a first sending unit 903 configured to send the recording media information to each recording server
  • the second receiving unit 904 is configured to receive a loadable quantity fed back by each recording server, where the loadable quantity is a number of clients that the recording server can support recording, and the number of the clients is determined by the recording server according to the recording Media information is determined;
  • a first determining unit 905 configured to determine, according to the loadable quantity, a target recording server, so that the target recording server records the RTP media stream that is sent by the switch and is mixed by the switch;
  • a second determining unit 906 configured to determine a target IP address of the target recording server
  • a second sending unit 907 configured to send the target IP address to the switch, so that the switch sends the RTP media stream that is mixed by the switch to the target recording server by using the target IP address.
  • the first determining unit 905 includes:
  • a first determining subunit 9051 configured to determine that the recording server with the largest load amount fed back by each of the recording servers is the target recording server
  • the second determining subunit 9052 is configured to determine that the recording server that is fed back by the recording server and whose loadable amount is greater than a preset threshold is the target recording server.
  • the second receiving unit 904 receives the loadable quantity fed back by each recording server, and the first determining unit 905 determines that the recording server that meets the preset condition is the target recording server, and the target recording server may be the loadable quantity.
  • the first determining unit 905 determines the target recording server by the loadable quantity returned by each recording server, so that the loadable quantity of each recording server can be equalized, thereby selecting a recording server that satisfies the preset condition, thereby making a recording of the request.
  • the recording server that the client performs recording is an idle or relatively idle recording server, and the recording server for recording the current recording is determined according to the loadable quantity, thereby effectively avoiding the situation exceeding the load of the recording server, that is, no more than a single recording.
  • the number of clients that the server can support for recording makes the recording process more reliable.
  • the specific structure of the SIP server is described in detail in the embodiment shown in FIG. 8 to FIG. 9.
  • the specific structure of the recording server is described in detail below with reference to the embodiment shown in FIG.
  • the third receiving unit 1001 is configured to receive recording media information sent by a session initiation protocol SIP server, where the recording media information is obtained by the SIP server from a call request message, where the call request message is the SIP server slave switch Received
  • the third determining unit 1002 is configured to determine a loadable quantity according to the recorded media information, where the loadable quantity is a number of clients that the recording server can support recording;
  • the third sending unit 1003 is configured to send the determined loadable quantity to the SIP server, so that the SIP server determines the target recording server according to the loadable quantity.
  • the third determining unit 1002 determines the loadable quantity according to the recording media information, so that the SIP server determines, according to the loadable quantity, the number of clients that can be supported by each recording server connected thereto, and according to each recording.
  • the number of clients that the server can support for recording is determined by the target recording server used for recording this time.
  • the target recording server is determined according to the load of the recording server, thereby effectively avoiding the failure of the recording process caused by recording the recording server exceeding the performance index of the single recording server, thereby effectively improving the recording.
  • the reliability of the recording server is determined according to the load of the recording server, thereby effectively avoiding the failure of the recording process caused by recording the recording server exceeding the performance index of the single recording server, thereby effectively improving the recording.
  • the specific structure of the recording server is described in detail in the embodiment shown in FIG. 10.
  • the specific structure of the recording server that records the current call process of the client that requests the recording is described in detail below with reference to the embodiment shown in FIG.
  • the third receiving unit 1101 is configured to receive recording media information sent by a session initiation protocol SIP server, where the recording media information is obtained by the SIP server from a call request message, where the call request message is the SIP server slave switch Received
  • a third determining unit 1102 configured to determine a loadable quantity according to the recorded media information, where the loadable quantity is a number of clients that the recording server can support recording;
  • the third determining unit 1102 includes:
  • a third determining subunit 11021 configured to determine, according to the recording media information, a first consumption system resource that is consumed by recording the RTP media stream that is mixed by the switch;
  • the first consumption system resource is M.
  • a fourth determining subunit 11022 configured to determine current system resources available to the recording server
  • the available current system resources are recorded as N.
  • a fifth determining subunit 11023 configured to determine that the quotient of the current system resource and the first consumption system resource is the loadable quantity
  • the loadable amount is N/M.
  • a third sending unit 1103, configured to send the determined loadable quantity to the SIP server, so that the SIP server determines the target recording server according to the loadable quantity;
  • a fourth receiving unit 1104 configured to receive, by the switch, an RTP media stream that is mixed by the switch;
  • the recording unit 1105 is configured to record the RTP media stream that has been mixed by the switch.
  • the third determining subunit 11021 determines, according to the recording media information, the first consumption system resource M that is required to be recorded by the RTP media stream that is mixed by the switch, and the fourth determining subunit 11022 determines The current system resource N available to the recording server, the fifth determining sub-unit 11023 determines to determine the loadable quantity as N/M.
  • the fifth determining subunit 11023 calculates the ratio of the available current system resource N to the first consuming system resource M, and determines the ratio as the loadable quantity, and the third sending unit 1103 sends the loadable quantity to
  • the SIP server is such that the SIP server determines the target recording server. So that the loadable quantity meets the preset condition
  • the recording server is the target recording server, which effectively avoids the recording of the already full or near full load recording server and reduces the reliability of the recording process.
  • the embodiment shown in FIG. 11 can specifically describe the specific structure of the recording server that records the current call process of the client that requests the recording.
  • the following describes the recording server to determine the respective loadable amount in combination with the embodiment shown in FIG. Specific structure:
  • the third receiving unit 1201 is configured to receive the recording media information sent by the session initiation protocol SIP server, where the recording media information is obtained by the SIP server from the call request message, where the call request message is the SIP server slave switch Received
  • the third determining unit 1202 is configured to determine a loadable quantity according to the recorded media information, where the loadable quantity is a number of clients that the recording server can support recording;
  • the third sending unit 1203 is configured to send the determined loadable quantity to the SIP server, so that the SIP server determines the target recording server according to the loadable quantity;
  • the fourth receiving unit 1204 is configured to receive an RTP media stream that is sent by the switch and that is mixed by the switch.
  • the recording unit 1205 is configured to record the RTP media stream that has been mixed by the switch;
  • the third determining unit 1202 includes:
  • the third determining subunit 12021 is configured to determine, according to the recording media information, a first consumption system resource that is consumed by recording the RTP media stream that is mixed by the switch;
  • the first consumption system resource is M.
  • a fourth determining subunit 12022 configured to determine current system resources available to the recording server
  • the available current system resources are recorded as N.
  • a fifth determining subunit 12023 configured to determine that the quotient of the current system resource and the first consuming system resource is the loadable quantity
  • the loadable amount is N/M.
  • the third determining subunit 12021 includes:
  • the first calculating module 120211 is configured to calculate, according to the encoding indication information of the recording media information, a first system resource required to record the RTP media stream that is mixed by the switch, and the second system resource;
  • the second calculating module 120212 is configured to estimate, according to the type indication information of the recorded media information, a recording duration required by the client that currently requests recording;
  • the first determining module 120213 is configured to determine, according to the encryption indication information of the recording media information, whether the RTP media stream that is mixed by the switch is encrypted;
  • a second determining module 120214 configured to determine, if the first determining module determines not to encrypt, a product of the first system resource and the recording duration as the first consumption system resource;
  • the third calculating module 120215 is configured to: if the first determining module determines the encryption, calculate a second system resource required to decrypt the RTP media stream that is mixed by the switch per second;
  • a fourth calculating module 120216 configured to calculate a sum of the first system resource and the second system resource
  • the third determining module 120217 is configured to determine that a product of the sum of the first system resource and the second system resource and the recording duration is the first consumption system resource;
  • the fourth determining subunit 12022 includes:
  • a fourth determining module 120221, configured to determine a total system resource available to the recording server
  • a fifth determining module 120222 configured to determine a third system resource that the recording server is currently using
  • a sixth determining module 120223, configured to determine a fourth system resource that is currently releasable by the recording server
  • the second computing module 120212 includes:
  • a first determining sub-module 1202121 configured to determine, according to the type indication information, that a recording type of the client that is currently requesting recording is the conference recording type or the point-to-point recording type;
  • the second determining sub-module 1202122 is configured to: if the first determining sub-module determines that the recording type of the client that is currently requesting recording is the recording type of the conference, and then record the recording in the recorded recording file of the recording server a first total duration of the conference recording type and a first total number of times; determining that the quotient of the first total duration and the first total number of times is an average recording duration of the conference; determining that the average recording duration of the conference is the recording duration;
  • a third determining sub-module 1202123, configured to: if the first determining sub-module determines that the recording type of the client that is currently requesting recording is the point-to-point recording type, and then record the recording in the recording file that has been recorded by the recording server a second total duration and a second total number of times of the point-to-point recording type; determining a quotient of the second total duration and the second total number of times as a point-to-point recording average duration; determining that the average duration of the point-to-point recording is the recording duration ;
  • the fifth determining module 120222 includes:
  • a fourth determining sub-module 1202221, configured to respectively determine each group of recording types that are being recorded on the recording server;
  • the fifth determining sub-module 1202222 is configured to respectively determine, according to each determined recording type of each group, a second consumption system resource that is consumed by each group for recording per second; and the second consumption system resource is recorded by the recording server.
  • the conference recording type needs to consume system resources per second, or the recording server records the system resources consumed by the point-to-point recording type per second;
  • a sixth determining sub-module 1202223, configured to respectively determine a recorded duration of each group that is recording
  • a seventh determining sub-module 1202224 configured to respectively determine each group of sub-consuming system resources, where the sub-consumption system resource is a product of the second consumption system resource and the recorded duration;
  • the eighth determining sub-module 1202225 is configured to determine that the sum of all the sub-consuming system resources is the third system resource.
  • the sixth determining module 120223 includes:
  • the ninth determining sub-module 1202231 is configured to determine, according to each of the determined recording types of each group, an average duration of each group of recordings, where the average recording duration is an average recording duration of the conference recording or an average duration of the point-to-point recording;
  • a tenth determining sub-module 1202232 configured to respectively determine a difference between the recorded duration of each group and the average duration of the recording
  • An eleventh determining sub-module 1202233 configured to respectively determine a currently releasable subsystem resource of each group, where the subsystem resource is a difference between the recorded duration and the recording average duration and the second consumption system resource product;
  • a twelfth determining sub-module 1202234 configured to determine that a sum of all the subsystem resources is a fourth system resource that is currently releasable by the recording server;
  • a fifth calculating module 120224 configured to calculate a difference between the total system resource and the third system resource
  • a seventh determining module 120225 configured to determine, by the recording server, that a sum of the difference between the total system resource and the third system resource and the fourth system resource is the available current system resource;
  • the third determining subunit 12021 determines the first consumption system resource M
  • the fourth The stator unit 12022 determines the current system resource N available to the recording server, and determines the loadable amount as N/M.
  • the fifth determining subunit 12023 calculates a ratio of the available current system resource N to the first consuming system resource M, and determines the ratio as a loadable quantity, and sends the loadable quantity to the SIP server, The SIP server is caused to determine the target recording server. Therefore, the recording server capable of supporting the preset condition is used as the target recording server, thereby effectively avoiding the situation that the recording server that is already full or near full load performs recording to reduce the reliability of the recording process.
  • the specific structure of the SIP server and the recording server is described in detail in the embodiment shown in FIG. 8 to FIG. 12 .
  • the specific structure of the SIP server and the recording server is further described below in combination with specific application scenarios:
  • the client When the client needs to request recording, the user presses the recording button of the client, and the client currently requesting recording sends a call request message to the IP-PBX, and after the IP-PBX receives the call request message sent by the client, the IP-PBX The client returns a Stahl message, the client returns a 200 OK message to the IP-PBX, and the IP-PBX sends a response message ACK to the client, and the IP-PBX establishes a SIP session with the client requesting the recording, and the IP-PBX is established for the IP-PBX.
  • the recording system for recording the call process of the client that requests the recording, and the client that establishes the SIP session with the IP-PBX is added to the recording system, and the IP-PBX sends a call request message to the SIP server, the SIP server to the IP address.
  • the PBX returns a 200 OK message, and the IP-PBX sends a response message ACK to the SIP server.
  • the IP-PBX calls the SIP server to establish a SIP session successfully.
  • the IP-PBX joins the SIP server that successfully establishes the SIP session into the recording system and has joined the recording system.
  • Each client processes the voice data of the call into an RTP media stream, and the IP-PBX performs a mixing process on the received RTP media stream of each client, and the IP-PBX determines the Tone after RTP media stream information recording medium;
  • the recorded media information includes:
  • Encoding indication information for indicating an RTP media stream encoding type after being mixed by the switch
  • the coding types are mainly: G.711, G.723.1, G.729A, and G.729AB;
  • Encryption indication information indicating whether the RTP media stream after being mixed by the switch is encrypted
  • Type indication information indicating the type of the client recording that is currently requested to be recorded, wherein the recording type includes a conference recording type and a point-to-point recording type;
  • the IP-PBX sends the recorded media information to the SIP service by using a call request message Device
  • the first receiving unit 901 of the SIP server receives the call request message invent
  • the acquiring unit 902 of the SIP server acquires the recorded media information of the current recording from the invent message SDP;
  • the first sending unit 903 of the SIP server sends a heartbeat carried by the SIP message to each recording server;
  • the first receiving unit 901 of the SIP server receives the heartbeat response returned by each recording server;
  • the first sending unit 903 of the SIP server sends the recorded media information to each recording server that receives the heartbeat response;
  • the third receiving unit 1201 of the recording server receives the recording media information sent by the SIP server;
  • the first computing module 120211 of the recording server calculates, according to the encoding indication information, a first system resource A required to record the RTP media stream after being mixed by the IP-PBX;
  • the recording type of the client currently requesting recording is the conference recording type
  • the first determining submodule 1202121 of the recording server determines that the recording type of the client currently requesting recording is a conference recording type
  • the second determining sub-module 1202122 of the recording server determines that the recording file of the conference recording type has been recorded on the recording server, and records the first total duration and the first total number of recordings of the conference recording type in the recording file;
  • the recording server determines that the quotient of the first total duration and the first total number of times is the average recording duration of the conference;
  • the recording server determines that the average recording duration of the conference is the recording duration B;
  • the first determining module 120213 of the recording server determines, according to the encryption indication information, whether the RTP media stream that has been mixed by the IP-PBX is encrypted;
  • the recording server determines, according to the encryption indication information, the RTP media stream encrypted by the IP-PBX mixing;
  • the third computing module 120215 of the recording server calculates a second system resource E required to decrypt the mixed RTP media stream per second;
  • the fourth computing module 120216 of the recording server calculates that the sum of the first system resource and the second system resource is A+E;
  • the third determining module 120217 of the recording server determines the first system resource and the first The product of the sum of the two system resources and the average duration of the conference recording is the first consumption system resource;
  • the first consumption system resource M (A+E)*B;
  • the fourth determining module 120221 of the recording server obtains a total system resource of the recording server and a threshold percentage of the system setting by using an operating system of the recording server;
  • the fourth determining module 120221 of the recording server determines that the total system resource F available to the recording server is a product of a total system resource and a threshold percentage set by the system;
  • the recording type of the first group is the conference recording type
  • the recording type of the second group is the conference recording type
  • the third group of recording types is a point-to-point recording type
  • the fourth group of recording types is a point-to-point recording type
  • the recording type of the fifth group is a point-to-point recording type
  • the fourth determining submodule 1202221 of the recording server respectively determines each group of recording types being recorded on the recording server;
  • the fifth determining submodule 1,202,222 recording server determines the conference audio system resource record type consumed per second to determine G 1 and the recording point type recording system resources consumed per second G 2;
  • the sixth determining sub-module 1202223 of the recording server determines the first set of recorded durations H 1 ;
  • the sixth determining sub-module 1202223 of the recording server determines the second set of recorded durations H 2 ;
  • the sixth determining sub-module 1202223 of the recording server determines a third set of recorded durations H 3 ;
  • the sixth determining sub-module 1202223 of the recording server determines the fourth group of recorded durations H 4 ;
  • the sixth determining sub-module 1202223 of the recording server determines the fifth group of recorded durations H 5 ;
  • the seventh determining sub-module 1202224 of the recording server respectively determines each group of sub-consuming system resources I;
  • the eighth determining sub-module 1202225 of the recording server determines that the sum of all the sub-consuming system resources is the third system resource;
  • the third system resource J I 1 +I 2 +I 3 +I 4 +I 5 ;
  • the recording server is performing a bit-point recording type in the recording type of the recording, and the third determining sub-module 1202123 of the recording server determines the average duration C of the point-to-point recording;
  • the third determining sub-module 1202123 of the recording server determines that the recording file of the point-to-point recording type has been recorded on the recording server, and counts the second total of the point-to-point recording type recorded in the recording file recorded by the recording server. a duration and a second total number of times; the recording server determines that the quotient of the second total duration and the second total number of times is a point-to-point recording average duration C;
  • the tenth determining sub-module 1202232 of the recording server respectively determines a difference between the recorded duration of each group and the average duration of the recording;
  • the tenth determining sub-module 1202232 determines that the difference between the first set of recorded durations and the average recording duration is H 1 -B;
  • the tenth determining sub-module 1202232 determines that the difference between the second set of recorded durations and the average recording duration is H 2 -B;
  • the tenth determining sub-module 1202232 determines that the difference between the third set of recorded durations and the average recording duration is H 3 -C;
  • the tenth determining sub-module 1202232 determines that the difference between the fourth set of recorded durations and the average recording duration is H 4 -C;
  • the tenth determining sub-module 1202232 determines that the difference between the fifth group recorded duration and the recording average duration is H 5 -C;
  • the eleventh determining sub-module 1202233 of the recording server respectively determines a subsystem resource K that is currently releasable by each group, where the subsystem resource K is a difference between the recorded duration and the average recording duration and the second Consume the product of system resources G;
  • the twelfth determining sub-module 1202234 of the recording server determines that the sum of all the subsystem resources is the fourth system resource L currently releasable by the recording server;
  • the fourth system resource L K 1 +K 2 +K+K 4 +K 5 ;
  • the fifth computing module 120224 of the recording server calculates a difference between the total system resource and the third system resource as F-J;
  • the third sending unit 1203 of the recording server sends the determined loadable quantity to the SIP server
  • the second receiving unit 904 of the SIP server receives the loadable quantity returned by all the recording servers connected to its heartbeat;
  • the first determining subunit 9051 or the second determining subunit 9052 of the SIP server selects the recording server with the largest load amount as the target recording server for recording the passing process of the client currently recording the request;
  • the second determining unit 906 of the SIP server determines a target IP address of the target recording server
  • the second sending unit 907 of the SIP server sends the target IP address to the IP-PBX by using a 200 OK message;
  • the IP-PBX establishes a SIP session with the target recording server, and joins the target recording server to the recording system;
  • the IP-PBX sends the mixed RTP media stream to the target recording server through the target IP address
  • the fourth receiving unit 1204 of the target recording server receives the RTP media stream that is sent by the switch and is mixed by the switch;
  • the recording unit 1205 of the target recording server records the mixed RTP media stream to be stored as a recording file.
  • the embodiment of the present invention further provides a recording system, and the connection relationship between the specific constituent network elements of the recording system and each network element is shown in FIG. 2;
  • the recording system includes:
  • the client currently requesting recording
  • a switch that establishes a SIP session with the client that is, an IP-PBX;
  • the IP-PBX is connected to multiple clients through a switch
  • SIP server the specific structure of the SIP server, please refer to the embodiment shown in FIG. 8 to FIG. 9 , and details are not described herein again;
  • FIG. 8 and FIG. 9 describes the structure of the SIP server in detail from the perspective of the module function entity.
  • the SIP server in the embodiment of the present invention is described in detail below with reference to FIG.
  • Another embodiment of the SIP server in the embodiment of the present invention includes:
  • the SIP server 1300 specifically includes:
  • the input device 1301, the output device 1302, the processor 1303, and the memory 1304 (wherein the processor 1303 shown in FIG. 13 may have one or more, and one processor 1303 in FIG. 13 is taken as an example);
  • the input device 1301, the output device 1302, the processor 1303, and the memory 1304 may be connected by a bus or other means, wherein the bus connection is taken as an example in FIG.
  • the processor 1303 is configured to perform the following steps:
  • a loadable quantity for receiving feedback from each recording server the loadable quantity being the recording
  • the number of clients that the server can support for recording the number of clients being determined by the recording server according to the recorded media information
  • the processor 1303 is further configured to perform the following steps:
  • the recording server for determining the maximum loadable amount fed back by each of the recording servers is the target recording server;
  • the processor 1303 is further configured to perform the following steps:
  • a recording server for determining that the loadable amount fed back by the recording server is greater than a preset threshold is the target recording server
  • the processor 1303 is further configured to perform the following steps:
  • FIG. 10 to FIG. 12 illustrates the structure of the recording server in detail from the perspective of the functional entity of the module.
  • the recording server in the embodiment of the present invention is described in detail below with reference to FIG. 14 .
  • Another embodiment of the recording server in the embodiment of the present invention includes:
  • the recording server 1400 specifically includes:
  • the input device 1401, the output device 1402, the processor 1403, and the memory 1404 (wherein the processor 1403 shown in FIG. 14 may have one or more, and one processor 1403 in FIG. 14 is taken as an example);
  • the input device 1401, the output device 1402, the processor 1403, and the memory 1404 may be connected by a bus or other means, wherein the bus connection is taken as an example in FIG.
  • the processor 1403 is configured to perform the following steps:
  • the processor 1403 is further configured to perform the following steps:
  • the processor 1403 is further configured to perform the following steps:
  • a quotient for determining the current system resource and the first consumed system resource is the loadable amount
  • the processor 1403 is further configured to perform the following steps:
  • the first determining module determines that the encryption is not performed, determining, by the first determining module, that the product of the first system resource and the recording duration is the first consumption system resource;
  • the processor 1403 is further configured to perform the following steps:
  • a recording type of the client that is currently requesting recording is the conference recording type or the point-to-point recording type
  • the first determining sub-module determines that the recording type of the client that is currently requesting recording is the conference recording type, and then records the first total of the recording type of the conference recorded in the recorded recording file of the recording server. a duration and a first total number of times; determining that the quotient of the first total duration and the first total number of times is an average recording duration of the conference; determining that the average duration of the conference recording is the recording duration;
  • the first determining sub-module determines that the recording type of the client that is currently requesting recording is the point-to-point recording type, counting the recording of the point-to-point recording type in the recording file that has been recorded by the recording server a total duration and a second total number of times; determining a quotient of the second total duration and the second total number of times as a point-to-point recording average duration; determining that the average duration of the point-to-point recording is the recording duration;
  • the processor 1403 is further configured to perform the following steps:
  • the system resources that need to be consumed, or the recording system records the system resources consumed by the point-to-point recording type per second;
  • the processor 1403 is further configured to perform the following steps:
  • the average duration of each group of recordings is determined according to the determined recording types of each group, and the average recording duration is the average recording duration of the conference recording or the average duration of the point-to-point recording;
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
  • Including a number of instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种录音控制方法及会话发起协议(SIP)服务器和录音服务器。所述方法包括以下步骤:SIP服务器接收交换机发送的呼叫请求消息(101),所述SIP服务器从所述呼叫请求消息中获取录音媒体信息(102),所述SIP服务器将所述录音媒体信息发送给各录音服务器(103),所述SIP服务器接收各录音服务器反馈的可负载数量(104),所述SIP服务器根据所述可负载数量确定目标录音服务器(105),以使所述目标录音服务器对所述交换机发送的经所述交换机混音后的RTP媒体流进行录音。本发明实施例保障了目标录音服务器在录音过程中的可靠性,且通过该SIP服务器即可确定用以录音的目标录音服务器,从而减少了组网的成本。

Description

一种录音控制方法及SIP服务器和录音服务器
本申请要求于2014年2月27日提交中国专利局、申请号为201410069020.4、发明名称为“一种录音控制方法及SIP服务器和录音服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,尤其涉及的是一种录音控制方法及SIP服务器和录音服务器。
背景技术
在应用统一通信与协作(UC&CC)的应用场景下,经常需要对客户端的点对点通话或会议通话进行录音。
现有技术中,是通过采用端口镜像的方式实现录音的。即将媒体分发服务器和客户端同时通过交换机连接到SBC(Session Border Controller,会话边界控制器)。SBC做信令和媒体流代理以实现信令和媒体流的汇聚,在交换机上设置端口镜像,进而把经过SBC的信令和媒体流通过镜像口发送给媒体分发服务器,媒体分发服务器再根据号码把信令和媒体流发给相应的录音服务器,该录音服务器解析通过交换机镜像口抓包获取的信令和媒体流,以使得该录音服务器实现录音功能。
一方面,现有技术中的录音方式需要SBC做信令和媒体流代理以实现信令和媒体流的汇聚,从而增加了SBC组网的成本,另一方面,单台录音服务器能够支持的录音的客户端数量是有限制的,如果需要录音的客户端数量较多,单台录音服务器无法承载,则会影响录音服务器的可靠性。
发明内容
本发明实施例提供了一种录音控制方法及SIP服务器和录音服务器,其能够有效的提升录音服务器的可靠性。
本实施例第一方面提供了一种录音控制方法,其中,包括:
会话发起协议SIP服务器接收交换机发送的呼叫请求消息;
所述SIP服务器从所述呼叫请求消息中获取录音媒体信息;
所述SIP服务器将所述录音媒体信息发送给各录音服务器;
所述SIP服务器接收各录音服务器反馈的可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量,所述客户端数量由所述录音服务器根据所述录音媒体信息确定;
所述SIP服务器根据所述可负载数量确定目标录音服务器,以使所述目标录音服务器对所述交换机发送的经所述交换机混音后的RTP媒体流进行录音。
结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,所述录音媒体信息包括:
用于指示经所述交换机混音后的RTP媒体流编码类型的编码指示信息;
用于指示经所述交换机混音后的RTP媒体流是否加密的加密指示信息;
用于指示当前请求录音的所述客户端录音类型的类型指示信息,其中,所述录音类型包括会议录音类型和点对点录音类型。
结合本发明实施例的第一方面,本发明实施例的第一方面的第二种实现方式中,所述SIP服务器根据所述可负载数量确定目标录音服务器包括:
所述SIP服务器确定各所述录音服务器反馈的所述可负载数量最大的录音服务器为所述目标录音服务器。
结合本发明实施例的第一方面,本发明实施例的第一方面的第三种实现方式中,所述SIP服务器根据所述可负载数量确定目标录音服务器包括:
所述SIP服务器确定所述录音服务器反馈的所述可负载数量大于预置阀值的录音服务器为所述目标录音服务器。
结合本发明实施例的第一方面,本发明实施例的第一方面的第四种实现方式中,所述SIP服务器根据所述可负载数量确定目标录音服务器之后还包括:
所述SIP服务器确定所述目标录音服务器的目标IP地址;
所述SIP服务器将所述目标IP地址发送给所述交换机,以使所述交换机将经所述交换机混音后的RTP媒体流通过所述目标IP地址发送给所述目标录音服务器。
本实施例第二方面提供了一种录音控制方法,其中,包括:
录音服务器接收会话发起协议SIP服务器发送的录音媒体信息,所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机接收到的;
所述录音服务器根据所述录音媒体信息确定可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量;
所述录音服务器将已确定的所述可负载数量发送给所述SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器。
结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述录音服务器将已确定的所述可负载数量发送给所述SIP服务器之后还包括:
所述目标录音服务器接收所述交换机发送的经所述交换机混音后的RTP媒体流;
所述目标录音服务器对经所述交换机混音后的RTP媒体流进行录音。
结合本发明实施例第二方面的第一种实现方式,本发明实施例的第二方面的第二种实现方式中,所述录音媒体信息包括:
用于指示经所述交换机混音后的RTP媒体流编码类型的编码指示信息;
用于指示经所述交换机混音后的RTP媒体流是否加密的加密指示信息;
用于指示当前请求录音的所述客户端录音类型的类型指示信息,其中,所述录音类型包括会议录音类型和点对点录音类型。
结合本发明实施例第二方面的第二种实现方式,本发明实施例的第二方面的第三种实现方式中,所述录音服务器根据所述录音媒体信息确定可负载数量包括:
所述录音服务器确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源;
所述录音服务器确定所述录音服务器可用的当前系统资源;
所述录音服务器确定所述当前系统资源和所述第一消耗系统资源的商为所述可负载数量。
结合本发明实施例第二方面的第三种实现方式,本发明实施例的第二方面的第四种实现方式中,所述录音服务器确定根据所述录音媒体信息对经所 述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源包括:
所述录音服务器根据所述编码指示信息计算对经所述交换机混音后的RTP媒体流进行录音每秒所需要的第一系统资源;
所述录音服务器根据所述类型指示信息估计当前请求录音的所述客户端所需的录制时长;
所述录音服务器根据所述加密指示信息确定经所述交换机混音后的RTP媒体流是否加密;
若否,则所述录音服务器确定所述第一系统资源与所述录制时长的积为所述第一消耗系统资源;
若是,则所述录音服务器计算解密经所述交换机混音后的RTP媒体流每秒所需要的第二系统资源;
所述录音服务器计算所述第一系统资源与所述第二系统资源的和;
所述录音服务器确定所述第一系统资源与所述第二系统资源的和与所述录制时长的积为所述第一消耗系统资源。
结合本发明实施例第二方面的第四种实现方式,本发明实施例的第二方面的第五种实现方式中,所述录音服务器根据所述类型指示信息估计当前请求录音的所述客户端所需的录制时长包括:
所述录音服务器根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述会议录音类型或所述点对点录音类型;
若所述录音服务器确定当前请求录音的所述客户端的录音类型为所述会议录音类型,则所述录音服务器统计所述录音服务器已录制的录音文件中录制所述会议录音类型的第一总时长和第一总次数;所述录音服务器确定所述第一总时长和所述第一总次数的商为会议录音平均时长;所述录音服务器确定所述会议录音平均时长为所述录制时长;
若所述录音服务器根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述点对点录音类型,则所述录音服务器统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;所述录音服务器确定所述第二总时长和所述第二总次数的商为点对点录音平均时长;所述录音服务器确定所述点对点录音平均时长为所述录制时 长。
结合本发明实施例第二方面的第三种实现方式,本发明实施例的第二方面的第六种实现方式中,所述录音服务器确定所述录音服务器可用的当前系统资源包括:
所述录音服务器确定所述录音服务器可用的总系统资源;
所述录音服务器确定所述录音服务器当前正在使用的第三系统资源;
所述录音服务器确定所述录音服务器当前可释放的第四系统资源;
所述录音服务器计算所述总系统资源和所述第三系统资源的差;
所述录音服务器确定所述总系统资源和所述第三系统资源的差与所述第四系统资源的和为所述可用的当前系统资源。
结合本发明实施例第二方面的第六种实现方式,本发明实施例的第二方面的第七种实现方式中,所述录音服务器确定所述录音服务器当前正在使用的第三系统资源包括:
所述录音服务器分别确定所述录音服务器上正在进行录音的各组录音类型;
所述录音服务器根据各组已确定的所述录音类型分别确定各组进行录音每秒所需要消耗的第二消耗系统资源;
所述录音服务器分别确定正在进行录音的各组已录制时长;
所述录音服务器分别确定各组子消耗系统资源,所述子消耗系统资源为所述第二消耗系统资源与所述已录制时长的积;
所述录音服务器确定所有所述子消耗系统资源的和为所述第三系统资源。
结合本发明实施例第二方面的第七种实现方式,本发明实施例的第二方面的第八种实现方式中,所述第二消耗系统资源为:
所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源;
或,
所述录音服务器录制点对点录音类型每秒所需要消耗的系统资源。
结合本发明实施例第二方面的第五种实现方式或第二方面的第八种实现方式,本发明实施例的第二方面的第九种实现方式中,所述录音服务器确定 所述录音服务器当前可释放的第四系统资源包括:
所述录音服务器根据各组已确定的所述录音类型分别确定各组录音平均时长,所述录音平均时长为所述会议录音平均时长或所述点对点录音平均时长;
所述录音服务器分别确定各组所述已录制时长与所述录音平均时长的差;
所述录音服务器分别确定各组当前可释放的子系统资源,所述子系统资源为所述已录制时长与所述录音平均时长的差与所述第二消耗系统资源的积;
所述录音服务器确定所有所述子系统资源的和为所述录音服务器当前可释放的第四系统资源。
本实施例第三方面提供了一种SIP服务器,其中,包括:
第一接收单元,用于接收交换机发送的呼叫请求消息;
获取单元,用于从所述呼叫请求消息中获取录音媒体信息;
第一发送单元,用于将所述录音媒体信息发送给各录音服务器;
第二接收单元,用于接收各录音服务器反馈的可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量,所述客户端数量由所述录音服务器根据所述录音媒体信息确定;
第一确定单元,用于根据所述可负载数量确定目标录音服务器,以使所述目标录音服务器对所述交换机发送的经所述交换机混音后的RTP媒体流进行录音。
结合本发明实施例第三方面,本发明实施例的第三方面的第一种实现方式中,所述第一确定单元包括:
第一确定子单元,用于确定各所述录音服务器反馈的所述可负载数量最大的录音服务器为所述目标录音服务器。
结合本发明实施例第三方面,本发明实施例的第三方面的第二种实现方式中,所述第一确定单元包括:
第二确定子单元,用于确定所述录音服务器反馈的所述可负载数量大于预置阀值的录音服务器为所述目标录音服务器。
结合本发明实施例第三方面,本发明实施例的第三方面的第三种实现方式中,所述SIP服务器还包括:
第二确定单元,用于确定所述目标录音服务器的目标IP地址;
第二发送单元,用于将所述目标IP地址发送给所述交换机,以使所述交换机将经所述交换机混音后的RTP媒体流通过所述目标IP地址发送给所述目标录音服务器。
本实施例第四方面提供了一种录音服务器,其中,包括:
第三接收单元,用于接收会话发起协议SIP服务器发送的录音媒体信息,所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机接收到的;
第三确定单元,用于根据所述录音媒体信息确定可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量;
第三发送单元,用于将已确定的所述可负载数量发送给所述SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器。
结合本发明实施例第四方面,本发明实施例的第四方面的第一种实现方式中,所述录音服务器还包括:
第四接收单元,用于接收所述交换机发送的经所述交换机混音后的RTP媒体流;
录音单元,用于对经所述交换机混音后的RTP媒体流进行录音。
结合本发明实施例第四方面,本发明实施例的第四方面的第二种实现方式中,第三确定单元包括:
第三确定子单元,用于确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源;
第四确定子单元,用于确定所述录音服务器可用的当前系统资源;
第五确定子单元,用于确定所述当前系统资源和所述第一消耗系统资源的商为所述可负载数量。
结合本发明实施例第四方面的第二种实现方式,本发明实施例的第四方面的第三种实现方式中,所述第三确定子单元包括:
第一计算模块,用于根据所述录音媒体信息的编码指示信息计算对经所 述交换机混音后的RTP媒体流进行录音每秒所需要的第一系统资源;
第二计算模块,用于根据所述录音媒体信息的类型指示信息估计当前请求录音的所述客户端所需的录制时长;
第一确定模块,用于根据所述录音媒体信息的加密指示信息确定经所述交换机混音后的RTP媒体流是否加密;
第二确定模块,用于若所述第一确定模块确定不加密,则确定所述第一系统资源与所述录制时长的积为所述第一消耗系统资源;
第三计算模块,用于若所述第一确定模块确定加密,则计算解密经所述交换机混音后的RTP媒体流每秒所需要的第二系统资源;
第四计算模块,用于计算所述第一系统资源与所述第二系统资源的和;
第三确定模块,用于确定所述第一系统资源与所述第二系统资源的和与所述录制时长的积为所述第一消耗系统资源。
结合本发明实施例第四方面的第三种实现方式,本发明实施例的第四方面的第四种实现方式中,所述第二计算模块包括:
第一确定子模块,用于根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述会议录音类型或所述点对点录音类型;
第二确定子模块,用于若所述第一确定子模块确定当前请求录音的所述客户端的录音类型为所述会议录音类型,则统计所述录音服务器已录制的录音文件中录制所述会议录音类型的第一总时长和第一总次数;确定所述第一总时长和所述第一总次数的商为会议录音平均时长;确定所述会议录音平均时长为所述录制时长;
第三确定子模块,用于若所述第一确定子模块确定当前请求录音的所述客户端的录音类型为所述点对点录音类型,则统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;确定所述第二总时长和所述第二总次数的商为点对点录音平均时长;确定所述点对点录音平均时长为所述录制时长。
结合本发明实施例第四方面的第二种实现方式,本发明实施例的第四方面的第五种实现方式中,所述第四确定子单元包括:
第四确定模块,用于确定所述录音服务器可用的总系统资源;
第五确定模块,用于确定所述录音服务器当前正在使用的第三系统资源;
第六确定模块,用于确定所述录音服务器当前可释放的第四系统资源;
第五计算模块,用于计算所述总系统资源和所述第三系统资源的差;
第七确定模块,用于所述录音服务器确定所述总系统资源和所述第三系统资源的差与所述第四系统资源的和为所述可用的当前系统资源。
结合本发明实施例第四方面的第五种实现方式,本发明实施例的第四方面的第六种实现方式中,所述第五确定模块包括:
第四确定子模块,用于分别确定所述录音服务器上正在进行录音的各组录音类型;
第五确定子模块,用于根据各组已确定的所述录音类型分别确定各组进行录音每秒所需要消耗的第二消耗系统资源;所述第二消耗系统资源为所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源,或,所述录音服务器录制点对点录音类型每秒所需要消耗的系统资源;
第六确定子模块,用于分别确定正在进行录音的各组已录制时长;
第七确定子模块,用于分别确定各组子消耗系统资源,所述子消耗系统资源为所述第二消耗系统资源与所述已录制时长的积;
第八确定子模块,用于确定所有所述子消耗系统资源的和为所述第三系统资源。
结合本发明实施例第四方面的第五种实现方式,本发明实施例的第四方面的第七种实现方式中,所述第六确定模块包括:
第九确定子模块,用于根据各组已确定的所述录音类型分别确定各组录音平均时长,所述录音平均时长为所述会议录音平均时长或所述点对点录音平均时长;
第十确定子模块,用于分别确定各组所述已录制时长与所述录音平均时长的差;
第十一确定子模块,用于分别确定各组当前可释放的子系统资源,所述子系统资源为所述已录制时长与所述录音平均时长的差与所述第二消耗系统资源的积;
第十二确定子模块,用于确定所有所述子系统资源的和为所述录音服务 器当前可释放的第四系统资源。
本实施例第五方面提供了一种录音系统,其中,包括:
当前请求录音的客户端;
交换机;
如本发明实施例第三方面至本发明实施例的第三方面的第三种实现方式中任意一项所述的SIP服务器;
以及多个如本实施例第四方面至本发明实施例的第四方面的第七种实现方式任意一项所述的录音服务器。
本发明实施例提供了一种录音控制方法及SIP服务器和录音服务器,该录音控制方法包括:会话发起协议SIP服务器接收交换机发送的呼叫请求消息,并从所述呼叫请求消息中获取录音媒体信息,所述SIP服务器将所述录音媒体信息发送给各录音服务器,所述SIP服务器接收各录音服务器反馈的可负载数量,所述SIP服务器根据所述可负载数量确定目标录音服务器。即在录音过程中,SIP服务器会根据录音服务器确定的可负载数量进行负载均衡,确定满足条件的目标录音服务器对所述交换机发送的RTP媒体流进行录音,保障了目标录音服务器在录音过程中的可靠性,且通过该SIP服务器即可确定用以录音的目标录音服务器,从而减少了组网的成本。
附图说明
图1为本发明实施例所提供的录音控制方法的一种较佳实施例步骤流程图;
图2为实现本发明实施例所提供的录音控制方法的各个网元的组成和连接关系的一种较佳实施例连接结构示意图;
图3为本发明实施例所提供的录音控制方法的另一种较佳实施例步骤流程图;
图4为本发明实施例所提供的录音控制方法的另一种较佳实施例交互示意图;
图5为本发明实施例所提供的录音控制方法的一种较佳实施例步骤流程图;
图6为本发明实施例所提供的录音控制方法的另一种较佳实施例步骤流程图;
图7为本发明实施例所提供的录音控制方法的另一种较佳实施例步骤流程图;
图8为本发明实施例所提供的SIP服务器的一种较佳实施例结构示意图;
图9为本发明实施例所提供的SIP服务器的另一种较佳实施例结构示意图;
图10为本发明实施例所提供的录音服务器的一种较佳实施例结构示意图;
图11为本发明实施例所提供的录音服务器的另一种较佳实施例结构示意图;
图12为本发明实施例所提供的录音服务器的另一种较佳实施例结构示意图;
图13为本发明实施例所提供的SIP服务器的另一种较佳实施例结构示意图;
图14为本发明实施例所提供的录音服务器的另一种较佳实施例结构示意图。
具体实施方式
本发明实施例提供了一种录音控制方法,通过该录音控制方法可确定用于录音的目标录音服务器。
以下结合图1对本发明实施例所提供的录音控制方法进行具体说明:
101、会话发起协议SIP服务器接收交换机发送的呼叫请求消息;
该交换机为IP-PBX(Private Branch eXchange,用户级交换机)。该IP-PBX可用于处理客户端的注册、呼叫,出局中继、创建录音系统及与录音服务器的指令交互。
具体的,客户端在确定需要进行录音时,则向IP-PBX发送呼叫请求消息,IP-PBX接收到客户端发送的呼叫请求消息后,IP-PBX根据该呼叫请求消息与客户端、SIP服务器和录音服务器分别建立SIP会话。
其中,SIP是会话初始化协议的缩写。
该SIP服务器为处理IP-PBX发送的消息和录音指令的设备,同时负责与录音服务器交互。
更具体的,该客户端为用户发起呼叫和通话的设备,且该客户端可包括IP话机和PC客户端。且多个所述客户端通过交换机与IP-PBX连接。
客户端请求录音的方式可为两种,一种是用户按下客户端的录音键;另一种是IP-PBX根据客户端的录音权限确定是否自动启动对该客户端的自动录音。
该IP-PBX根据客户端发送的呼叫请求消息建立用于对当前请求录音的客户端进行录音的录音系统,并将与IP-PBX建立SIP会话的客户端和SIP服务器加入所述录音系统。
加入录音系统的各个客户端将其通话的语音数据处理成RTP媒体流。
IP-PBX对接收到的各个客户端的RTP媒体流进行处理。
具体的处理过程为混音处理,其中,混音是指将对白、音乐、音效等多种音源予以混合的处理过程。
IP-PBX根据混音后的RTP媒体流生成呼叫请求消息。
已加入录音系统的SIP服务器接收IP-PBX发送的所述呼叫请求消息。
102、所述SIP服务器从所述呼叫请求消息中获取录音媒体信息;
所述SIP服务器根据所述呼叫请求消息获取录音媒体信息,该录音媒体信息用于使得所述录音服务器根据该录音媒体信息确定各自的可负载数量,从而使得SIP服务器根据各个录音服务器的负载情况确定适合用于本次对请求录音的客户端的通话过程进行录音的录音服务器。
103、所述SIP服务器将所述录音媒体信息发送给各录音服务器;
所述SIP服务器将其获取到的该录音媒体信息发送给与SIP服务器连接的录音服务器集群,以使录音服务器集群中的各个录音服务器均能够接收到该录音媒体信息。
104、所述SIP服务器接收各录音服务器反馈的可负载数量;
各个录音服务器接收到该录音媒体信息后,各个录音服务器根据该录音媒体信息确定各自的可负载数量。
所述可负载数量为所述录音服务器可支持录音的客户端数量,所述客户端数量由所述录音服务器根据所述录音媒体信息确定。
105、所述SIP服务器根据所述可负载数量确定目标录音服务器。
所述SIP服务器接收各个录音服务器发送的可负载数量,并根据接收到的各个可负载数量确定满足预置条件的录音服务器,并确定满足预置条件的录音服务器为目标录音服务器,并建立与该目标录音服务器的SIP会话,以将该目标录音服务器加入已经创建的录音系统中,以使所述目标录音服务器对所述IP-PBX发送的混音处理后的RTP媒体流进行录音。
该录音系统各个网元的组成和连接关系请见图2所示。
本实施例中,SIP服务器根据呼叫请求消息获取录音媒体信息,并将其获取到的录音媒体信息发送给多个录音服务器,并接收各个录音服务器返回的可负载数量,并根据各个录音服务器返回的可负载数量进行负载均衡,以确定满足预置条件的目标录音服务器,从而使得目标录音服务器对经过IP-PBX处理后的RTP媒体流进行录音。本实施例中通过SIP服务器确定满足预置条件的目标录音服务器,即该目标录音服务器适合对本次需要进行录音的客户端的通话进行录音,从而避免了已经满载或接近满载的录音服务器进行录音而降低录音过程的可靠性的情况。
图1所示的实施例对录音控制方法进行具体说明,图2所示的实施例对录音系统各个网元的组成和连接关系进行说明,以下结合图3和图4所示的实施例进一步的详细说明SIP服务器是如何确定目标录音服务器的:
301、SIP服务器接收交换机发送的呼叫请求消息;
交换机即IP-PBX根据请求录音的客户端发送的呼叫请求消息与客户端、SIP服务器和录音服务器分别建立SIP会话。
其中,IP-PBX与客户端、SIP服务器以及录音服务器建立SIP会话以进行交互的流程请见图4。
由图4可知,IP-PBX与请求录音的客户端进行重协商以建立SIP会话,以使该客户端加入录音系统的具体流程为:
IP-PBX接收客户端发送的呼叫请求消息invent;
IP-PBX向该客户端返回reinvent消息;
该客户端向IP-PBX返回200OK消息;
IP-PBX向该客户端发送响应消息ACK。
该IP-PBX与其他请求录音的客户端建立SIP会话的具体流程请参见图4所示,在此不再赘述。
IP-PBX建立录音系统,并呼叫SIP服务器与IP-PBX建立SIP会话。
其中,SIP服务器与IP-PBX建立SIP会话的具体流程为:
SIP服务器接收IP-PBX发送的呼叫请求消息invent;
SIP服务器向IP-PBX返回200OK消息;
IP-PBX向该SIP服务器发送响应消息ACK。
302、所述SIP服务器从所述呼叫请求消息中获取录音媒体信息;
已加入所述录音系统的所述SIP服务器接收到呼叫请求消息invent后,从invent消息SDP中获取本次录音的录音媒体信息。
其中,SDP(Session Description Protocol),为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供的多媒体会话描述。
具体的,所述录音媒体信息包括:
用于指示经所述交换机混音后的RTP媒体流编码类型的编码指示信息。
其中,编码类型主要为:G.711、G.723.1、G.729A和G.729AB等,当然本实施例中的编码类型只是进行举例说明,不不限定于上述编码方式。
用于指示经所述交换机混音后的RTP媒体流是否加密的加密指示信息。
用于指示当前请求录音的所述客户端录音类型的类型指示信息,其中,所述录音类型包括会议录音类型和点对点录音类型。
303、所述SIP服务器将所述录音媒体信息发送给各录音服务器;
所述SIP服务器将所述录音媒体信息发送给与所述SIP服务器连接的录音服务器。
具体的,所述SIP服务器与所述录音服务器连接的具体方式为:
所述SIP服务器向各录音服务器发送心跳;
其中,该心跳是通过SIP Message携带。
SIP服务器接收各录音服务器返回的心跳响应;
SIP服务器向接收到心跳响应的各录音服务器发送所述录音媒体信息。
且该录音媒体信息可通过Socket消息发送至各录音服务器。
304、所述SIP服务器接收各录音服务器反馈的可负载数量;
本实施例中步骤304与图1所示的步骤104过程相同,在此不再赘述。
305、所述SIP服务器根据所述可负载数量确定目标录音服务器;
所述SIP服务器接收各个录音服务器通过Socket消息返回的可负载数量,并根据各个所述录音服务器确定的可负载数量确定满足预置条件的目标录音服务器。
该预置条件可为:
所述SIP服务器确定各所述录音服务器反馈的所述可负载数量最大的录音服务器为所述目标录音服务器。
即将可负载数量最大的录音服务器为目标录音服务器,该目标录音服务器可支持录音的客户端的数量最多,通过该目标录音服务器进行录音可最大限度的保障录音过程中的可靠性。
该预置条件还可为:
所述SIP服务器确定所述录音服务器反馈的所述可负载数量大于预置阀值的录音服务器为所述目标录音服务器。
即所述SIP服务器预先确定可负载数量的预置阀值,可负载数量大于该预置阀值的录音服务器相对空闲。
所述SIP服务器确定相对空闲的录音服务器,即可负载数量大于预置阀值的录音服务器为所述目标录音服务器,由相对空闲的该目标录音服务器完成本次录音能够有效的保障录音过程的可靠性。
若可负载数量大于预置阀值的录音服务器为多个,则SIP服务器可随机选定或选定以往使用次数较少的录音服务器为目标服务器。
在本实施例中SIP服务器选定目标服务器的具体方式不作限定,只要选定的目标服务器能够可靠的完成本次录音即可。
306、所述SIP服务器确定所述目标录音服务器的目标IP地址;
所述SIP服务器确定目标录音服务器后,并获取该目标录音服务器的目标IP地址。
307、所述SIP服务器将所述目标IP地址发送给所述交换机。
所述SIP服务器将其获取到的目标录音服务器的目标IP地址发送给交换机,即IP-PBX。
具体的,如图4所示,所述SIP服务器将所述目标IP地址通过200OK消息将所述目标IP地址发送给所述IP-PBX。
IP-PBX与该目标录音服务器建立SIP会话,其具体建立过程与IP-PBX与SIP服务器建立SIP会话的方式相同,请参见图4所示,在此不再赘述。
IP-PBX将建立SIP会话的目标录音服务器加入录音系统。以使所述IP-PBX将经所述IP-PBX混音后的RTP媒体流通过所述目标IP地址发送给所述目标录音服务器,以使所述目标录音服务器将混音后的RTP媒体流存储成录音文件。
本实施例中,SIP服务器接收各录音服务器反馈的可负载数量,并确定满足预置条件的录音服务器为目标录音服务器,且该目标录音服务器可为所述可负载数量最大的录音服务器,或所述可负载数量大于预置阀值的录音服务器。SIP服务器通过各个录音服务器返回的可负载数量确定目标录音服务器,以使得SIP服务器对各个录音服务器的可负载数量进行均衡,从而选定满足预置条件的录音服务器,进而使得对本次请求录音的客户端进行录音的录音服务器为空闲或较为空闲的录音服务器,根据可负载数量确定用以对当前进行录音的录音服务器从而有效的避免了超过录音服务器负载的情况,即不会超过单台录音服务器能够支持录音的客户端的数量,使得录音过程较为可靠。
图1至图4所示的实施例说明了SIP服务器是如何实现录音控制方法的,以下结合图5所示的实施例说明录音服务器是如何实现录音控制方法的:
501、录音服务器接收会话发起协议SIP服务器发送的录音媒体信息;
所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机IP-PBX接收到的。
具体的,该IP-PBX根据客户端发送的呼叫请求消息建立录音系统,并将与IP-PBX建立SIP会话的客户端和SIP服务器加入所述录音系统。具体IP-PBX如何建立所述录音系统的请见图1所示实施例,在本实施例中不做赘述。
录音服务器接收已加入所述录音系统的所述SIP服务器发送的录音媒体 信息。
所述录音媒体信息的具体内容请见图1所示的实施例,在本实施例中不做赘述。
502、所述录音服务器根据所述录音媒体信息确定可负载数量;
所述可负载数量为所述录音服务器可支持录音的客户端数量。
503、所述录音服务器将已确定的所述可负载数量发送给所述SIP服务器。
与所述SIP服务器连接的录音服务器将其已经确定的所述可负载数量发送给SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器。
本实施例中,录音服务器根据所述录音媒体信息确定可负载数量,从而使得SIP服务器根据该可负载数量确定与其连接的各个录音服务器可支持录音的客户端数量,并将根据各个录音服务器可支持录音的客户端数量确定用以本次进行录音的目标录音服务器。因本实施例中,根据录音服务器的负载确定目标录音服务器,从而有效的避免了使得超过单台录音服务器的性能指标的录音服务器进行录音而造成的录音过程的故障,有效的提升了进行录音的录音服务器的可靠性。而且本实施例中,录音服务器将混音后的RTP媒体流进行录音以转换为录音文件,即不管有多少个客户端参与本次录音,录音过程中,IP-PBX只会混音形成一个RTP媒体流,而不需要复制多个RTP媒体流,进而目标录音服务器无需复制多个RTP媒体流,从而有效的节省了带宽。
图5所示的实施例说明录音服务器是如何实现录音控制方法的,以下结合图6所示的实施例说明目标录音服务器是如何实现对当前请求录音的客户端的通话过程进行录音的:
601、录音服务器接收会话发起协议SIP服务器发送的录音媒体信息;
录音服务器接收已加入所述录音系统的所述SIP服务器发送的录音媒体信息。
该录音系统的具体建立流程请见图3所示实施例,在本实施例中不做赘述。
所述录音媒体信息包括:
用于指示经所述交换机混音后的RTP媒体流编码类型的编码指示信息;
其中,编码类型主要为:G.711、G.723.1、G.729A和G.729AB等。
用于指示经所述交换机混音后的RTP媒体流是否加密的加密指示信息;
用于指示当前请求录音的所述客户端录音类型的类型指示信息,其中,所述录音类型包括会议录音类型和点对点录音类型。
602、所述录音服务器根据所述录音媒体信息确定可负载数量;
所述录音服务器确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源;
在本实施例中将该第一消耗系统资源记为M。
所述录音服务器确定所述录音服务器可用的当前系统资源;
在本实施例中将可用的当前系统资源记为N。
所述录音服务器确定所述当前系统资源和所述第一消耗系统资源的商为所述可负载数量。
即在本实施例中,所述可负载数量为N/M。
603、所述录音服务器将已确定的所述可负载数量发送给所述SIP服务器;
所述录音服务器将各自的可负载数量发送给所述SIP服务器,以使该SIP服务器确定满足预置条件的录音服务器为目标录音服务器,其确定满足预置条件的录音服务器为目标录音服务器的具体过程请见图3所示的实施例,在此不再赘述。
604、所述目标录音服务器接收所述交换机发送的RTP媒体流;
所述目标录音服务器接收IP-PBX发送的经过该IP-PBX混音后的RTP媒体流。
605、所述目标录音服务器对经所述交换机混音后的RTP媒体流进行录音。
所述目标录音服务器接收到该混音后的RTP媒体流后,将其转换成录音文件以完成录音,从而实现了录音文件的存储和管理,方便录音的查询和回放。
本实施例中,所述录音服务器根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源M,以及确定所述 录音服务器可用的当前系统资源N,并将可负载数量确定为N/M。本实施例中,录音服务器计算可用的当前系统资源N与第一消耗系统资源M的比值,并将该比值确定为可负载数量,并将该可负载数量发送给SIP服务器,以使该SIP服务器确定目标录音服务器。从而使得可负载数量满足预置条件的录音服务器为目标录音服务器,从而有效的避免了已经满载或接近满载的录音服务器进行录音而降低录音过程的可靠性的情况。
图6所示的实施例说明目标录音服务器是如何实现对当前请求录音的客户端的通话过程进行录音的,以下结合图7所示的实施例说明各录音服务器是如何确定各自的可负载数量的:
701、录音服务器接收会话发起协议SIP服务器发送的录音媒体信息;
本实施例的步骤701与图6所示的步骤601过程相同,在此不再赘述。
702、所述录音服务器根据所述编码指示信息计算对经所述交换机混音后的RTP媒体流进行录音每秒所需要的第一系统资源;
所述录音服务器根据录音媒体信息的编码指示信息确定混音后的RTP媒体流的编码方式。
所述录音服务器计算通过G.711、G.723.1、G.729A或G.729AB等编码方式将混音后的RTP媒体流转换为录音文件每秒需要的第一系统资源,并将该第一系统资源记为A。
703、所述录音服务器根据所述类型指示信息估计当前请求录音的所述客户端所需的录制时长;
所述录音服务器根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述会议录音类型或所述点对点录音类型。
所述录音服务器根据已确定的录音类型估计当前请求录音的客户端所需的录制时长。
所述录音服务器估计所述录制时长的具体方式为:
若录音服务器确定当前请求录音的所述客户端的录音类型为所述会议录音类型,则所述录音服务器确定该录音服务器上已经录制会议录音类型的录音文件,并统计所述录音文件中录制所述会议录音类型的第一总时长和第一总次数;所述录音服务器确定所述第一总时长和所述第一总次数的商为会议 录音平均时长;所述录音服务器确定所述会议录音平均时长为所述录制时长,并记为B。
若所述录音服务器根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述点对点录音类型,则所述录音服务器确定该录音服务器上已经录制点对点录音类型的录音文件,并统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;所述录音服务器确定所述第二总时长和所述第二总次数的商为点对点录音平均时长;所述录音服务器确定所述点对点录音平均时长为所述录制时长,并记为C。
704、所述录音服务器根据所述加密指示信息确定经所述交换机混音后的RTP媒体流是否加密,若否,则进行步骤705,若是,则进行步骤706;
所述录音服务器根据录音媒体信息的加密指示信息确定混音后的RTP媒体流是否加密。
若没有加密,则进行步骤705。
若加密,则进行步骤706。
705、所述录音服务器确定所述第一系统资源与所述录制时长的积为所述第一消耗系统资源;
若所述录音服务器确定当前请求录音的所述客户端为点对点录音类型,则确定第一消耗系统资源D为已确定的所述第一系统资源和点对点录音平均时长的积。
即D=A*C。
若所述录音服务器确定当前请求录音的所述客户端为会议录音类型,则确定第一消耗系统资源为已确定的所述第一系统资源和会议录音平均时长的积。
即D=A*B。
即录音服务器确定当前请求录音的客户端的录音类型,并根据该已确定的录音类型确定该录音服务器上该录音类型以往录制的平均时长,从而估计当前请求录音的客户端当前进行录音可能需要的时长,进而确定当前请求录音的客户端所需占用该录音服务器的第一消耗系统资源。
706、所述录音服务器计算解密经所述交换机混音后的RTP媒体流每秒所 需要的第二系统资源;
若所述录音服务器确定混音后的RTP媒体流加密,则所述录音服务器计算解密混音后的RTP媒体流每秒所需要的第二系统资源,并记为E。
707、所述录音服务器计算所述第一系统资源与所述第二系统资源的和;
即所述录音服务器计算所述第一系统资源与所述第二系统资源的和为A+E。
708、所述录音服务器确定所述第一系统资源与所述第二系统资源的和与所述录制时长的积为所述第一消耗系统资源;
即若所述录音服务器确定当前请求录音的所述客户端为点对点录音类型,则确定第一消耗系统资源为已确定的所述第一系统资源与所述第二系统资源的和与点对点录音平均时长的积。
即第一消耗系统资源M=(A+E)*C。
若所述录音服务器确定当前请求录音的所述客户端为会议录音类型,则确定第一消耗系统资源为已确定的所述第一系统资源与所述第二系统资源的和与会议录音平均时长的积。
即第一消耗系统资源M=(A+E)*B。
709、所述录音服务器确定所述录音服务器可用的总系统资源;
所述录音服务器通过该录音服务器的操作系统获取本录音服务器的总系统资源和系统设置的门限百分比。
所述录音服务器确定本录音服务器的可用的总系统资源F为总系统资源和系统设置的门限百分比的积。
710、所述录音服务器确定所述录音服务器当前正在使用的第三系统资源;
即通过本步骤所述录音服务器确定该录音服务器上已被其他客户端占用的系统资源为第三系统资源;
其具体的确定方式为:
所述录音服务器分别确定所述录音服务器上正在进行录音的各组录音类型。
即录音服务器确定该录音服务器上正在对其他客户端进行录音的每组录 音类型,该录音类型可为点对点录音类型或会议录音类型。
所述录音服务器根据各组已确定的所述录音类型分别确定各组进行录音每秒所需要消耗的第二消耗系统资源,并将该第二消耗系统资源记为G;
其中,所述第二消耗系统资源G为;所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源G1,或,所述录音服务器录制点对点录音类型每秒所需要消耗的系统资源G2
所述录音服务器分别确定正在进行录音的各组已录制时长H;
所述录音服务器分别确定各组子消耗系统资源I,所述子消耗系统资源为所述第二消耗系统资源与所述已录制时长的积;
即子消耗系统资源I=G*H。
所述录音服务器确定所有所述子消耗系统资源的和为所述第三系统资源。
即若所述录音服务器确定第一组录音类型的子消耗系统资源I1,第二组录音类型的子消耗系统资源I2,直至第n组录音类型的子消耗系统资源In,则所述第三系统资源J=I1+I2…+In。
711、所述录音服务器确定所述录音服务器当前可释放的第四系统资源;
所述录音服务器确定其当前可释放的第四系统资源的具体方式为:
所述录音服务器根据各组已确定的所述录音类型分别确定各组录音平均时长,所述录音平均时长为所述会议录音平均时长B或所述点对点录音平均时长C;
其中,所述会议录音平均时长B和所述点对点录音平均时长C的具体计算方式请见步骤703所示,在此不再赘述。
所述录音服务器分别确定各组所述已录制时长与所述录音平均时长的差;
其中,录音服务器分别确定正在进行录音的各组已录制时长H的具体计算方式请见步骤710所示,在此不再赘述。
所述录音服务器分别确定各组当前可释放的子系统资源,所述子系统资源为所述已录制时长与所述录音平均时长的差与所述第二消耗系统资源G的积;
该第二消耗系统资源G的具体计算方式请见步骤710,在此不再赘述。
即若所述录音服务器确定第一组录音类型为会议录音类型,且第一组已录制时长为H1,则确定第一组的当前可释放的子系统资源K1=(H1-B)*G1
若所述录音服务器确定第二组录音类型为点对点录音类型,且第二组已录制时长为H2,则确定第二组的当前可释放的子系统资源K2=(H2-C)*G2
直至,所述录音服务器确定第n组录音类型为点对点录音类型,且第n组已录制时长为Hn,则确定第n组的当前可释放的子系统资源Kn=(Hn-C)*G2
在所述录音服务器确定其各组当前可释放的子系统资源后,所述录音服务器确定所有所述子系统资源的和为所述录音服务器当前可释放的第四系统资源L。
则所述第四系统资源L=K1+K2…+Kn
712、所述录音服务器计算所述总系统资源和所述第三系统资源的差;
即所述录音服务器计算所述总系统资源和所述第三系统资源的差为F-J;
713、所述录音服务器确定所述总系统资源和所述第三系统资源的差与所述第四系统资源的和为所述可用的当前系统资源;
所述录音服务器确定所述可用的当前系统资源N为(F-J)+L。
714、所述录音服务器根据所述录音媒体信息确定可负载数量;
若当前请求录音的客户端为点对点录音类型,则所述可负载数量=N/M=(F-J)+L/(A+E)*C。
若当前请求录音的客户端为会议录音类型,则所述可负载数量=N/M=(F-J)+L/(A+E)*B。
715、所述录音服务器将已确定的所述可负载数量发送给所述SIP服务器;
716、所述目标录音服务器接收所述交换机发送的RTP媒体流;
717、所述目标录音服务器对经所述交换机混音后的RTP媒体流进行录音。
本实施例中的步骤715至步骤717与图6所示的步骤603至步骤605过程相同,在此不再赘述。
本实施例中,所述录音服务器确定第一消耗系统资源M,以及确定所述 录音服务器可用的当前系统资源N,并将可负载数量确定为N/M。本实施例中,录音服务器计算可用的当前系统资源N与第一消耗系统资源M的比值,并将该比值确定为可负载数量,并将该可负载数量发送给SIP服务器,以使该SIP服务器确定目标录音服务器。从而使得可负载数量满足预置条件的录音服务器为目标录音服务器,从而有效的避免了已经满载或接近满载的录音服务器进行录音而降低录音过程的可靠性的情况。
图1至图7所示的实施例对录音控制方法进行详细说明,为更好的理解本发明所提供的录音控制方法,以下举具体应用场景对本发明所提供的录音控制方法进行进一步的详细说明:
客户端需要请求录音时,用户按下客户端的录音键;
该当前请求录音的客户端向IP-PBX发送呼叫请求消息invent;
IP-PBX接收到客户端发送的呼叫请求消息后,IP-PBX向该客户端返回reinvent消息;
该客户端向IP-PBX返回200OK消息;
IP-PBX向该客户端发送响应消息ACK;
IP-PBX与该请求录音的客户端建立SIP会话;
IP-PBX建立用于对该请求录音的客户端的通话过程进行录音的录音系统,并将与IP-PBX建立SIP会话的客户端加入进该录音系统;
IP-PBX向SIP服务器发送的呼叫请求消息invent;
SIP服务器向IP-PBX返回200OK消息;
IP-PBX向该SIP服务器发送响应消息ACK;
则IP-PBX呼叫SIP服务器建立SIP会话成功;
IP-PBX将成功建立SIP会话的SIP服务器加入进录音系统;
已经加入录音系统的各个客户端对其通话的语音数据处理成RTP媒体流;
IP-PBX对接收到的各个客户端的RTP媒体流进行混音处理;
所述IP-PBX确定该混音处理后的RTP媒体流的录音媒体信息;
该录音媒体信息包括:
用于指示经所述交换机混音后的RTP媒体流编码类型的编码指示信息;
编码类型主要为:G.711、G.723.1、G.729A和G.729AB等;
用于指示经所述交换机混音后的RTP媒体流是否加密的加密指示信息;
用于指示当前请求录音的所述客户端录音类型的类型指示信息,其中,所述录音类型包括会议录音类型和点对点录音类型;
所述IP-PBX将该录音媒体信息通过呼叫请求消息发送给所述SIP服务器;
所述SIP服务器接收到呼叫请求消息invent后,从invent消息SDP中获取本次录音的录音媒体信息;
所述SIP服务器向各录音服务器发送通过SIP Message携带的心跳;
SIP服务器接收各录音服务器返回的心跳响应;
SIP服务器向接收到心跳响应的各录音服务器发送所述录音媒体信息;
录音服务器接收SIP服务器发送的录音媒体信息;
所述录音服务器根据所述编码指示信息计算对经所述IP-PBX混音后的RTP媒体流进行录音每秒所需要的第一系统资源A;
在本应用场景中,当前请求录音的客户端的录音类型为会议录音类型;
所述录音服务器确定该录音服务器上已经录制会议录音类型的录音文件,并统计所述录音文件中录制所述会议录音类型的第一总时长和第一总次数;所述录音服务器确定所述第一总时长和所述第一总次数的商为会议录音平均时长;所述录音服务器确定所述会议录音平均时长为所述录制时长B;
所述录音服务器根据所述加密指示信息确定经所述IP-PBX混音后的RTP媒体流是否加密;
在本应用场景中,所述录音服务器根据所述加密指示信息确定经所述IP-PBX混音后的RTP媒体流加密;
所述录音服务器计算解密混音后的RTP媒体流每秒所需要的第二系统资源E;
所述录音服务器计算所述第一系统资源与所述第二系统资源的和为A+E;
所述录音服务器确定所述第一系统资源与所述第二系统资源的和与会议录音平均时长的积为第一消耗系统资源;
即该第一消耗系统资源M=(A+E)*B;
所述录音服务器通过该录音服务器的操作系统获取本录音服务器的总系统资源和系统设置的门限百分比;
所述录音服务器确定本录音服务器的可用的总系统资源F为总系统资源和系统设置的门限百分比的积;
在本应用场景中,该录音服务器正在进行录音的有五组;
第一组的录音类型为会议录音类型;
第二组的录音类型为会议录音类型;
第三组的录音类型为点对点录音类型;
第四组的录音类型为点对点录音类型;
第五组的录音类型为点对点录音类型;
所述录音服务器分别确定所述录音服务器上正在进行录音的各组录音类型;
所述录音服务器确定录制所述会议录音类型每秒所需要消耗的系统资源为G1以及确定录制所述点对点录音类型每秒所需要消耗的系统资源G2
所述录音服务器确定第一组所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源为G1以及已录制时长H1
所述录音服务器确定第二组所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源G1以及已录制时长H2
所述录音服务器确定第三组所述录音服务器录制所述点对点录音类型每秒所需要消耗的系统资源G2以及已录制时长H3
所述录音服务器确定第四组所述录音服务器录制所述点对点录音类型每秒所需要消耗的系统资源G2以及已录制时长H4
所述录音服务器确定第五组所述录音服务器录制所述点对点录音类型每秒所需要消耗的系统资源G2以及已录制时长H5
所述录音服务器分别确定各组子消耗系统资源I;
第一组的子消耗系统资源I1=G1*H1
第二组的子消耗系统资源I2=G1*H2
第三组的子消耗系统资源I3=G2*H3
第四组的子消耗系统资源I4=G2*H4
第五组的子消耗系统资源I5=G2*H5
所述录音服务器确定所有所述子消耗系统资源的和为所述第三系统资源;
即在本应用场景中,第三系统资源J=I1+I2+I3+I4+I5
因本应用场景中,该录音服务器正在进行录音的录音类型中有点对点录音类型,则所述录音服务器确定点对点录音平均时长C;
即所述录音服务器确定该录音服务器上已经录制点对点录音类型的录音文件,并统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;所述录音服务器确定所述第二总时长和所述第二总次数的商为点对点录音平均时长C;
所述录音服务器分别确定各组所述已录制时长与所述录音平均时长的差;
即第一组已录制时长与所述录音平均时长的差为H1-B;
第二组已录制时长与所述录音平均时长的差为H2-B;
第三组已录制时长与所述录音平均时长的差为H3-C;
第四组已录制时长与所述录音平均时长的差为H4-C;
第五组已录制时长与所述录音平均时长的差为H5-C;
所述录音服务器分别确定各组当前可释放的子系统资源K,所述子系统资源K为所述已录制时长与所述录音平均时长的差与所述第二消耗系统资源G的积;
第一组当前可释放的子系统资源K1=(H1-B)*G1
第二组当前可释放的子系统资源K2=(H2-B)*G1
第三组当前可释放的子系统资源K3=(H3-C)*G2
第四组当前可释放的子系统资源K4=(H4-C)*G2
第五组当前可释放的子系统资源K5=(H5-C)*G2
所述录音服务器确定所有所述子系统资源的和为所述录音服务器当前可释放的第四系统资源L;
即在本应用场景中,所述第四系统资源L=K1+K2+K+K4+K5
所述录音服务器计算所述总系统资源和所述第三系统资源的差为F-J;
所述录音服务器确定可用的当前系统资源N=(F-J)+L
因当前请求录音的客户端的录音类型为会议录音类型,则该录音服务器的可负载数量=N/M=(F-J)+L/(A+E)*B;
所述录音服务器将已确定的所述可负载数量发送给所述SIP服务器;
SIP服务器接收到与其心跳连接的所有录音服务器返回的可负载数量后,选定所述可负载数量最大的录音服务器为用于对当前请求录音的客户端的通过过程进行录音的目标录音服务器;
SIP服务器确定所述目标录音服务器的目标IP地址;
所述SIP服务器将所述目标IP地址通过200OK消息将所述目标IP地址发送给所述IP-PBX;
IP-PBX与该目标录音服务器建立SIP会话,并将目标录音服务器加入所述录音系统;
IP-PBX将经混音后的RTP媒体流通过所述目标IP地址发送给所述目标录音服务器;
目标录音服务器将混音后的RTP媒体流进行录音以存储成录音文件。
以上实施例对本发明实施例所提供的录音控制方法进行详细说明,以下结合图8所示的实施例对本发明实施例所提供的SIP服务器的具体结构进行详细说明:
所述SIP服务器包括:
第一接收单元801,用于接收交换机发送的呼叫请求消息;
获取单元802,用于从所述呼叫请求消息中获取录音媒体信息;
第一发送单元803,用于将所述录音媒体信息发送给各录音服务器;
第二接收单元804,用于接收各录音服务器反馈的可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量,所述客户端数量由所述录音服务器根据所述录音媒体信息确定;
第一确定单元805,用于根据所述可负载数量确定目标录音服务器,以使所述目标录音服务器对所述交换机发送的经所述交换机混音后的RTP媒体流进行录音。
本实施例中,获取单元802根据呼叫请求消息获取录音媒体信息,第一发送单元803将其获取到的录音媒体信息发送给多个录音服务器,第二接收单元804接收各个录音服务器返回的可负载数量,第一确定单元805根据各个录音服务器返回的可负载数量进行负载均衡,以确定满足预置条件的目标录音服务器,从而使得目标录音服务器对经过IP-PBX处理后的RTP媒体流进行录音。本实施例中通过第一确定单元805确定满足预置条件的目标录音服务器,即该目标录音服务器适合对本次需要进行录音的客户端的通话进行录音,从而避免了已经满载或接近满载的录音服务器进行录音而降低录音过程的可靠性的情况。
图8所示的实施例对本发明实施例所提供的SIP服务器的具体结构进行详细说明,以下结合图9所示的实施例对可确定目标录音服务器的SIP服务器的具体结构进行详细说明:
所述SIP服务器包括:
第一接收单元901,用于接收交换机发送的呼叫请求消息;
获取单元902,用于从所述呼叫请求消息中获取录音媒体信息;
第一发送单元903,用于将所述录音媒体信息发送给各录音服务器;
第二接收单元904,用于接收各录音服务器反馈的可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量,所述客户端数量由所述录音服务器根据所述录音媒体信息确定;
第一确定单元905,用于根据所述可负载数量确定目标录音服务器,以使所述目标录音服务器对所述交换机发送的经所述交换机混音后的RTP媒体流进行录音;
第二确定单元906,用于确定所述目标录音服务器的目标IP地址;
第二发送单元907,用于将所述目标IP地址发送给所述交换机,以使所述交换机将经所述交换机混音后的RTP媒体流通过所述目标IP地址发送给所述目标录音服务器;
所述第一确定单元905包括:
第一确定子单元9051,用于确定各所述录音服务器反馈的所述可负载数量最大的录音服务器为所述目标录音服务器;
或,
第二确定子单元9052,用于确定所述录音服务器反馈的所述可负载数量大于预置阀值的录音服务器为所述目标录音服务器。
本实施例中,第二接收单元904接收各录音服务器反馈的可负载数量,第一确定单元905确定满足预置条件的录音服务器为目标录音服务器,且该目标录音服务器可为所述可负载数量最大的录音服务器,或所述可负载数量大于预置阀值的录音服务器。第一确定单元905通过各个录音服务器返回的可负载数量确定目标录音服务器,从而可对各个录音服务器的可负载数量进行均衡,从而选定满足预置条件的录音服务器,进而使得对本次请求录音的客户端进行录音的录音服务器为空闲或较为空闲的录音服务器,根据可负载数量确定用以对当前进行录音的录音服务器从而有效的避免了超过录音服务器负载的情况,即不会超过单台录音服务器能够支持录音的客户端的数量,使得录音过程较为可靠。
图8至图9所示的实施例对所述SIP服务器的具体结构进行详细说明,以下结合图10所示的实施例对录音服务器的具体结构进行详细说明:
第三接收单元1001,用于接收会话发起协议SIP服务器发送的录音媒体信息,所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机接收到的;
第三确定单元1002,用于根据所述录音媒体信息确定可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量;
第三发送单元1003,用于将已确定的所述可负载数量发送给所述SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器。
本实施例中,第三确定单元1002根据所述录音媒体信息确定可负载数量,从而使得SIP服务器根据该可负载数量确定与其连接的各个录音服务器可支持录音的客户端数量,并将根据各个录音服务器可支持录音的客户端数量确定用以本次进行录音的目标录音服务器。因本实施例中,根据录音服务器的负载确定目标录音服务器,从而有效的避免了使得超过单台录音服务器的性能指标的录音服务器进行录音而造成的录音过程的故障,有效的提升了进行录音的录音服务器的可靠性。
图10所示的实施例对录音服务器的具体结构进行详细说明,以下结合图11所示的实施例可对当前请求录音的客户端的通话过程进行录音的录音服务器的具体结构进行详细说明:
第三接收单元1101,用于接收会话发起协议SIP服务器发送的录音媒体信息,所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机接收到的;
第三确定单元1102,用于根据所述录音媒体信息确定可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量;
所述第三确定单元1102包括:
第三确定子单元11021,用于确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源;
在本实施例中将所述第一消耗系统资源即为M。
第四确定子单元11022,用于确定所述录音服务器可用的当前系统资源;
本实施例中将所述可用的当前系统资源记为N。
第五确定子单元11023,用于确定所述当前系统资源和所述第一消耗系统资源的商为所述可负载数量;
在本实施例中所述可负载数量为N/M。
第三发送单元1103,用于将已确定的所述可负载数量发送给所述SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器;
第四接收单元1104,用于接收所述交换机发送的经所述交换机混音后的RTP媒体流;
录音单元1105,用于对经所述交换机混音后的RTP媒体流进行录音。
本实施例中,第三确定子单元11021根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源M,以及第四确定子单元11022确定所述录音服务器可用的当前系统资源N,第五确定子单元11023确定将可负载数量确定为N/M。本实施例中,第五确定子单元11023计算可用的当前系统资源N与第一消耗系统资源M的比值,并将该比值确定为可负载数量,第三发送单元1103将该可负载数量发送给SIP服务器,以使该SIP服务器确定目标录音服务器。从而使得可负载数量满足预置条件 的录音服务器为目标录音服务器,从而有效的避免了已经满载或接近满载的录音服务器进行录音而降低录音过程的可靠性的情况。
图11所示的实施例可对当前请求录音的客户端的通话过程进行录音的录音服务器的具体结构进行详细说明,以下结合图12所示的实施例说明各录音服务器可确定各自的可负载数量的具体结构:
第三接收单元1201,用于接收会话发起协议SIP服务器发送的录音媒体信息,所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机接收到的;
第三确定单元1202,用于根据所述录音媒体信息确定可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量;
第三发送单元1203,用于将已确定的所述可负载数量发送给所述SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器;
第四接收单元1204,用于接收所述交换机发送的经所述交换机混音后的RTP媒体流;
录音单元1205,用于对经所述交换机混音后的RTP媒体流进行录音;
所述第三确定单元1202包括:
第三确定子单元12021,用于确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源;
在本实施例中将所述第一消耗系统资源即为M。
第四确定子单元12022,用于确定所述录音服务器可用的当前系统资源;
本实施例中将所述可用的当前系统资源记为N。
第五确定子单元12023,用于确定所述当前系统资源和所述第一消耗系统资源的商为所述可负载数量;
在本实施例中所述可负载数量为N/M。
具体的,该第三确定子单元12021包括:
第一计算模块120211,用于根据所述录音媒体信息的编码指示信息计算对经所述交换机混音后的RTP媒体流进行录音每秒所需要的第一系统资源;
第二计算模块120212,用于根据所述录音媒体信息的类型指示信息估计当前请求录音的所述客户端所需的录制时长;
第一确定模块120213,用于根据所述录音媒体信息的加密指示信息确定经所述交换机混音后的RTP媒体流是否加密;
第二确定模块120214,用于若所述第一确定模块确定不加密,则确定所述第一系统资源与所述录制时长的积为所述第一消耗系统资源;
第三计算模块120215,用于若所述第一确定模块确定加密,则计算解密经所述交换机混音后的RTP媒体流每秒所需要的第二系统资源;
第四计算模块120216,用于计算所述第一系统资源与所述第二系统资源的和;
第三确定模块120217,用于确定所述第一系统资源与所述第二系统资源的和与所述录制时长的积为所述第一消耗系统资源;
具体的,该第四确定子单元12022包括:
第四确定模块120221,用于确定所述录音服务器可用的总系统资源;
第五确定模块120222,用于确定所述录音服务器当前正在使用的第三系统资源;
第六确定模块120223,用于确定所述录音服务器当前可释放的第四系统资源;
更具体的,该第二计算模块120212包括:
第一确定子模块1202121,用于根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述会议录音类型或所述点对点录音类型;
第二确定子模块1202122,用于若所述第一确定子模块确定当前请求录音的所述客户端的录音类型为所述会议录音类型,则统计所述录音服务器已录制的录音文件中录制所述会议录音类型的第一总时长和第一总次数;确定所述第一总时长和所述第一总次数的商为会议录音平均时长;确定所述会议录音平均时长为所述录制时长;
第三确定子模块1202123,用于若所述第一确定子模块确定当前请求录音的所述客户端的录音类型为所述点对点录音类型,则统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;确定所述第二总时长和所述第二总次数的商为点对点录音平均时长;确定所述点对点录音平均时长为所述录制时长;
更具体的,该第五确定模块120222包括:
第四确定子模块1202221,用于分别确定所述录音服务器上正在进行录音的各组录音类型;
第五确定子模块1202222,用于根据各组已确定的所述录音类型分别确定各组进行录音每秒所需要消耗的第二消耗系统资源;所述第二消耗系统资源为所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源,或,所述录音服务器录制点对点录音类型每秒所需要消耗的系统资源;
第六确定子模块1202223,用于分别确定正在进行录音的各组已录制时长;
第七确定子模块1202224,用于分别确定各组子消耗系统资源,所述子消耗系统资源为所述第二消耗系统资源与所述已录制时长的积;
第八确定子模块1202225,用于确定所有所述子消耗系统资源的和为所述第三系统资源。
具体的,所述第六确定模块120223包括:
第九确定子模块1202231,用于根据各组已确定的所述录音类型分别确定各组录音平均时长,所述录音平均时长为所述会议录音平均时长或所述点对点录音平均时长;
第十确定子模块1202232,用于分别确定各组所述已录制时长与所述录音平均时长的差;
第十一确定子模块1202233,用于分别确定各组当前可释放的子系统资源,所述子系统资源为所述已录制时长与所述录音平均时长的差与所述第二消耗系统资源的积;
第十二确定子模块1202234,用于确定所有所述子系统资源的和为所述录音服务器当前可释放的第四系统资源;
第五计算模块120224,用于计算所述总系统资源和所述第三系统资源的差;
第七确定模块120225,用于所述录音服务器确定所述总系统资源和所述第三系统资源的差与所述第四系统资源的和为所述可用的当前系统资源;
本实施例中,第三确定子单元12021确定第一消耗系统资源M,第四确 定子单元12022确定所述录音服务器可用的当前系统资源N,并将可负载数量确定为N/M。本实施例中,第五确定子单元12023计算可用的当前系统资源N与第一消耗系统资源M的比值,并将该比值确定为可负载数量,并将该可负载数量发送给SIP服务器,以使该SIP服务器确定目标录音服务器。从而使得可负载数量满足预置条件的录音服务器为目标录音服务器,从而有效的避免了已经满载或接近满载的录音服务器进行录音而降低录音过程的可靠性的情况。
图8至图12所示的实施例对SIP服务器和录音服务器的具体结构进行详细说明,以下结合具体应用场景对SIP服务器和录音服务器的具体结构进一步进行说明:
客户端需要请求录音时,用户按下客户端的录音键,该当前请求录音的客户端向IP-PBX发送呼叫请求消息invent,IP-PBX接收到客户端发送的呼叫请求消息后,IP-PBX向该客户端返回reinvent消息,该客户端向IP-PBX返回200OK消息,IP-PBX向该客户端发送响应消息ACK,IP-PBX与该请求录音的客户端建立SIP会话,IP-PBX建立用于对该请求录音的客户端的通话过程进行录音的录音系统,并将与IP-PBX建立SIP会话的客户端加入进该录音系统,IP-PBX向SIP服务器发送的呼叫请求消息invent,SIP服务器向IP-PBX返回200OK消息,IP-PBX向该SIP服务器发送响应消息ACK,则IP-PBX呼叫SIP服务器建立SIP会话成功,IP-PBX将成功建立SIP会话的SIP服务器加入进录音系统,已经加入录音系统的各个客户端对其通话的语音数据处理成RTP媒体流,IP-PBX对接收到的各个客户端的RTP媒体流进行混音处理,所述IP-PBX确定该混音处理后的RTP媒体流的录音媒体信息;
该录音媒体信息包括:
用于指示经所述交换机混音后的RTP媒体流编码类型的编码指示信息;
编码类型主要为:G.711、G.723.1、G.729A和G.729AB等;
用于指示经所述交换机混音后的RTP媒体流是否加密的加密指示信息;
用于指示当前请求录音的所述客户端录音类型的类型指示信息,其中,所述录音类型包括会议录音类型和点对点录音类型;
所述IP-PBX将该录音媒体信息通过呼叫请求消息发送给所述SIP服务 器;
所述SIP服务器的第一接收单元901接收到呼叫请求消息invent;
所述SIP服务器的获取单元902从invent消息SDP中获取本次录音的录音媒体信息;
所述SIP服务器的第一发送单元903向各录音服务器发送通过SIP Message携带的心跳;
SIP服务器的第一接收单元901接收各录音服务器返回的心跳响应;
SIP服务器的第一发送单元903向接收到心跳响应的各录音服务器发送所述录音媒体信息;
录音服务器的第三接收单元1201接收SIP服务器发送的录音媒体信息;
所述录音服务器的第一计算模块120211根据所述编码指示信息计算对经所述IP-PBX混音后的RTP媒体流进行录音每秒所需要的第一系统资源A;
在本应用场景中,当前请求录音的客户端的录音类型为会议录音类型;
所述录音服务器的第一确定子模块1202121确定当前请求录音的客户端的录音类型为会议录音类型;
所述录音服务器的第二确定子模块1202122确定该录音服务器上已经录制会议录音类型的录音文件,并统计所述录音文件中录制所述会议录音类型的第一总时长和第一总次数;所述录音服务器确定所述第一总时长和所述第一总次数的商为会议录音平均时长;所述录音服务器确定所述会议录音平均时长为所述录制时长B;
所述录音服务器的第一确定模块120213根据所述加密指示信息确定经所述IP-PBX混音后的RTP媒体流是否加密;
在本应用场景中,所述录音服务器根据所述加密指示信息确定经所述IP-PBX混音后的RTP媒体流加密;
所述录音服务器的第三计算模块120215计算解密混音后的RTP媒体流每秒所需要的第二系统资源E;
所述录音服务器的第四计算模块120216计算所述第一系统资源与所述第二系统资源的和为A+E;
所述录音服务器的第三确定模块120217确定所述第一系统资源与所述第 二系统资源的和与会议录音平均时长的积为第一消耗系统资源;
即该第一消耗系统资源M=(A+E)*B;
所述录音服务器的第四确定模块120221通过该录音服务器的操作系统获取本录音服务器的总系统资源和系统设置的门限百分比;
所述录音服务器的第四确定模块120221确定本录音服务器的可用的总系统资源F为总系统资源和系统设置的门限百分比的积;
在本应用场景中,该录音服务器正在进行录音的有五组;
第一组的录音类型为会议录音类型;
第二组的录音类型为会议录音类型;
第三组的录音类型为点对点录音类型;
第四组的录音类型为点对点录音类型;
第五组的录音类型为点对点录音类型;
所述录音服务器的第四确定子模块1202221分别确定所述录音服务器上正在进行录音的各组录音类型;
所述录音服务器的第五确定子模块1202222确定录制所述会议录音类型每秒所需要消耗的系统资源为G1以及确定录制所述点对点录音类型每秒所需要消耗的系统资源G2
所述录音服务器的第六确定子模块1202223确定第一组已录制时长H1
所述录音服务器的第六确定子模块1202223确定第二组已录制时长H2
所述录音服务器的第六确定子模块1202223确定第三组已录制时长H3
所述录音服务器的第六确定子模块1202223确定第四组已录制时长H4
所述录音服务器的第六确定子模块1202223确定第五组已录制时长H5
所述录音服务器的第七确定子模块1202224分别确定各组子消耗系统资源I;
所述第七确定子模块1202224确定第一组的子消耗系统资源I1=G1*H1
所述第七确定子模块1202224确定第二组的子消耗系统资源I2=G1*H2
所述第七确定子模块1202224确定第三组的子消耗系统资源I3=G2*H3
所述第七确定子模块1202224确定第四组的子消耗系统资源I4=G2*H4
所述第七确定子模块1202224确定第五组的子消耗系统资源I5=G2*H5
所述录音服务器的第八确定子模块1202225确定所有所述子消耗系统资源的和为所述第三系统资源;
即在本应用场景中,第三系统资源J=I1+I2+I3+I4+I5
因本应用场景中,该录音服务器正在进行录音的录音类型中有点对点录音类型,则所述录音服务器的第三确定子模块1202123确定点对点录音平均时长C;
即所述录音服务器的第三确定子模块1202123确定该录音服务器上已经录制点对点录音类型的录音文件,并统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;所述录音服务器确定所述第二总时长和所述第二总次数的商为点对点录音平均时长C;
所述录音服务器的第十确定子模块1202232分别确定各组所述已录制时长与所述录音平均时长的差;
即所述第十确定子模块1202232确定第一组已录制时长与所述录音平均时长的差为H1-B;
所述第十确定子模块1202232确定第二组已录制时长与所述录音平均时长的差为H2-B;
所述第十确定子模块1202232确定第三组已录制时长与所述录音平均时长的差为H3-C;
所述第十确定子模块1202232确定第四组已录制时长与所述录音平均时长的差为H4-C;
所述第十确定子模块1202232确定第五组已录制时长与所述录音平均时长的差为H5-C;
所述录音服务器的第十一确定子模块1202233分别确定各组当前可释放的子系统资源K,所述子系统资源K为所述已录制时长与所述录音平均时长的差与所述第二消耗系统资源G的积;
所述录音服务器的第十一确定子模块1202233确定第一组当前可释放的子系统资源K1=(H1-B)*G1
所述录音服务器的第十一确定子模块1202233确定第二组当前可释放的子系统资源K2=(H2-B)*G1
所述录音服务器的第十一确定子模块1202233确定第三组当前可释放的子系统资源K3=(H3-C)*G2
所述录音服务器的第十一确定子模块1202233确定第四组当前可释放的子系统资源K4=(H4-C)*G2
所述录音服务器的第十一确定子模块1202233确定第五组当前可释放的子系统资源K5=(H5-C)*G2
所述录音服务器的第十二确定子模块1202234确定所有所述子系统资源的和为所述录音服务器当前可释放的第四系统资源L;
即在本应用场景中,所述第四系统资源L=K1+K2+K+K4+K5
所述录音服务器的第五计算模块120224计算所述总系统资源和所述第三系统资源的差为F-J;
所述录音服务器的第七确定模块120225确定可用的当前系统资源N=(F-J)+L;
因当前请求录音的客户端的录音类型为会议录音类型,则该录音服务器的第五确定子单元12023确定可负载数量=N/M=(F-J)+L/(A+E)*B;
所述录音服务器的第三发送单元1203将已确定的所述可负载数量发送给所述SIP服务器;
SIP服务器的第二接收单元904接收到与其心跳连接的所有录音服务器返回的可负载数量;
SIP服务器的第一确定子单元9051或第二确定子单元9052选定所述可负载数量最大的录音服务器为用于对当前请求录音的客户端的通过过程进行录音的目标录音服务器;
SIP服务器的第二确定单元906确定所述目标录音服务器的目标IP地址;
所述SIP服务器的第二发送单元907将所述目标IP地址通过200OK消息将所述目标IP地址发送给所述IP-PBX;
IP-PBX与该目标录音服务器建立SIP会话,并将目标录音服务器加入所述录音系统;
IP-PBX将经混音后的RTP媒体流通过所述目标IP地址发送给所述目标录音服务器;
所述目标录音服务器的第四接收单元1204接收所述交换机发送的经所述交换机混音后的RTP媒体流;
目标录音服务器的录音单元1205将混音后的RTP媒体流进行录音以存储成录音文件。
本发明实施例还提供了一种录音系统,该录音系统的具体组成网元和各个网元的连接关系请见图2所示;
具体的,该录音系统包括:
当前请求录音的客户端;
与客户端建立SIP会话的交换机,即IP-PBX;
该IP-PBX通过交换机与多个客户端连接;
SIP服务器,该SIP服务器的具体结构请见图8至图9所示实施例,在此不再赘述;
以及多个录音服务器,该录音服务器的具体结构请见图10至图12所示,在此不再赘述。
图8和图9所示的实施例从模块功能实体的角度对SIP服务器的结构进行了详细说明,以下结合图13从硬件角度对本发明实施例中的SIP服务器进行详细描述,请见图13,本发明实施例中的SIP服务器的另一实施例包括:
该SIP服务器1300具体包括:
输入装置1301、输出装置1302、处理器1303和存储器1304(其中,图13所示的处理器1303可以有一个或多个,图13中以一个处理器1303为例进行说明);
在本发明一些实施例中,输入装置1301、输出装置1302、处理器1303和存储器1304可通过总线或其它方式连接,其中,图13中以通过总线连接为例。
处理器1303用于执行如下步骤:
用于接收交换机发送的呼叫请求消息;
用于从所述呼叫请求消息中获取录音媒体信息;
用于将所述录音媒体信息发送给各录音服务器;
用于接收各录音服务器反馈的可负载数量,所述可负载数量为所述录音 服务器可支持录音的客户端数量,所述客户端数量由所述录音服务器根据所述录音媒体信息确定;
用于根据所述可负载数量确定目标录音服务器,以使所述目标录音服务器对所述交换机发送的经所述交换机混音后的RTP媒体流进行录音;
处理器1303还用于执行如下步骤:
用于确定各所述录音服务器反馈的所述可负载数量最大的录音服务器为所述目标录音服务器;
处理器1303还用于执行如下步骤:
用于确定所述录音服务器反馈的所述可负载数量大于预置阀值的录音服务器为所述目标录音服务器;
处理器1303还用于执行如下步骤:
用于确定所述目标录音服务器的目标IP地址;
用于将所述目标IP地址发送给所述交换机,以使所述交换机将经所述交换机混音后的RTP媒体流通过所述目标IP地址发送给所述目标录音服务器。
图10至图12所示的实施例从模块功能实体的角度对录音服务器的结构进行了详细说明,以下结合图14从硬件角度对本发明实施例中的录音服务器进行详细描述,请见图14,本发明实施例中的录音服务器的另一实施例包括:
该录音服务器1400具体包括:
输入装置1401、输出装置1402、处理器1403和存储器1404(其中,图14所示的处理器1403可以有一个或多个,图14中以一个处理器1403为例进行说明);
在本发明一些实施例中,输入装置1401、输出装置1402、处理器1403和存储器1404可通过总线或其它方式连接,其中,图14中以通过总线连接为例。
处理器1403用于执行如下步骤:
用于接收会话发起协议SIP服务器发送的录音媒体信息,所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机接收到的;
用于根据所述录音媒体信息确定可负载数量,所述可负载数量为所述录 音服务器可支持录音的客户端数量;
用于将已确定的所述可负载数量发送给所述SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器;
处理器1403还用于执行如下步骤:
用于接收所述交换机发送的经所述交换机混音后的RTP媒体流;
用于对经所述交换机混音后的RTP媒体流进行录音;
处理器1403还用于执行如下步骤:
用于确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源;
用于确定所述录音服务器可用的当前系统资源;
用于确定所述当前系统资源和所述第一消耗系统资源的商为所述可负载数量;
处理器1403还用于执行如下步骤:
用于根据所述录音媒体信息的编码指示信息计算对经所述交换机混音后的RTP媒体流进行录音每秒所需要的第一系统资源;
用于根据所述录音媒体信息的类型指示信息估计当前请求录音的所述客户端所需的录制时长;
用于根据所述录音媒体信息的加密指示信息确定经所述交换机混音后的RTP媒体流是否加密;
用于若所述第一确定模块确定不加密,则确定所述第一系统资源与所述录制时长的积为所述第一消耗系统资源;
用于若所述第一确定模块确定加密,则计算解密经所述交换机混音后的RTP媒体流每秒所需要的第二系统资源;
用于计算所述第一系统资源与所述第二系统资源的和;
用于确定所述第一系统资源与所述第二系统资源的和与所述录制时长的积为所述第一消耗系统资源;
处理器1403还用于执行如下步骤:
用于根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述会议录音类型或所述点对点录音类型;
用于若所述第一确定子模块确定当前请求录音的所述客户端的录音类型为所述会议录音类型,则统计所述录音服务器已录制的录音文件中录制所述会议录音类型的第一总时长和第一总次数;确定所述第一总时长和所述第一总次数的商为会议录音平均时长;确定所述会议录音平均时长为所述录制时长;
用于若所述第一确定子模块确定当前请求录音的所述客户端的录音类型为所述点对点录音类型,则统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;确定所述第二总时长和所述第二总次数的商为点对点录音平均时长;确定所述点对点录音平均时长为所述录制时长;
处理器1403还用于执行如下步骤:
用于确定所述录音服务器可用的总系统资源;
用于确定所述录音服务器当前正在使用的第三系统资源;
用于确定所述录音服务器当前可释放的第四系统资源;
用于计算所述总系统资源和所述第三系统资源的差;
用于所述录音服务器确定所述总系统资源和所述第三系统资源的差与所述第四系统资源的和为所述可用的当前系统资源;
用于分别确定所述录音服务器上正在进行录音的各组录音类型;
用于根据各组已确定的所述录音类型分别确定各组进行录音每秒所需要消耗的第二消耗系统资源;所述第二消耗系统资源为所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源,或,所述录音服务器录制点对点录音类型每秒所需要消耗的系统资源;
用于分别确定正在进行录音的各组已录制时长;
用于分别确定各组子消耗系统资源,所述子消耗系统资源为所述第二消耗系统资源与所述已录制时长的积;
用于确定所有所述子消耗系统资源的和为所述第三系统资源;
处理器1403还用于执行如下步骤:
用于根据各组已确定的所述录音类型分别确定各组录音平均时长,所述录音平均时长为所述会议录音平均时长或所述点对点录音平均时长;
用于分别确定各组所述已录制时长与所述录音平均时长的差;
用于分别确定各组当前可释放的子系统资源,所述子系统资源为所述已录制时长与所述录音平均时长的差与所述第二消耗系统资源的积;
用于确定所有所述子系统资源的和为所述录音服务器当前可释放的第四系统资源。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (28)

  1. 一种录音控制方法,其特征在于,包括:
    会话发起协议SIP服务器接收交换机发送的呼叫请求消息;
    所述SIP服务器从所述呼叫请求消息中获取录音媒体信息;
    所述SIP服务器将所述录音媒体信息发送给各录音服务器;
    所述SIP服务器接收各录音服务器反馈的可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量,所述客户端数量由所述录音服务器根据所述录音媒体信息确定;
    所述SIP服务器根据所述可负载数量确定目标录音服务器,以使所述目标录音服务器对所述交换机发送的经所述交换机混音后的RTP媒体流进行录音。
  2. 根据权利要求1所述的录音控制方法,其特征在于,所述录音媒体信息包括:
    用于指示经所述交换机混音后的RTP媒体流编码类型的编码指示信息;
    用于指示经所述交换机混音后的RTP媒体流是否加密的加密指示信息;
    用于指示当前请求录音的所述客户端录音类型的类型指示信息,其中,所述录音类型包括会议录音类型和点对点录音类型。
  3. 根据权利要求1所述的录音控制方法,其特征在于,所述SIP服务器根据所述可负载数量确定目标录音服务器包括:
    所述SIP服务器确定各所述录音服务器反馈的所述可负载数量最大的录音服务器为所述目标录音服务器。
  4. 根据权利要求1所述的录音控制方法,其特征在于,所述SIP服务器根据所述可负载数量确定目标录音服务器包括:
    所述SIP服务器确定所述录音服务器反馈的所述可负载数量大于预置阀值的录音服务器为所述目标录音服务器。
  5. 根据权利要求1所述的录音控制方法,其特征在于,所述SIP服务器根据所述可负载数量确定目标录音服务器之后还包括:
    所述SIP服务器确定所述目标录音服务器的目标IP地址;
    所述SIP服务器将所述目标IP地址发送给所述交换机,以使所述交换机将经所述交换机混音后的RTP媒体流通过所述目标IP地址发送给所述目标录 音服务器。
  6. 一种录音控制方法,其特征在于,包括:
    录音服务器接收会话发起协议SIP服务器发送的录音媒体信息,所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机接收到的;
    所述录音服务器根据所述录音媒体信息确定可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量;
    所述录音服务器将已确定的所述可负载数量发送给所述SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器。
  7. 根据权利要求6所述的录音控制方法,其特征在于,所述录音服务器将已确定的所述可负载数量发送给所述SIP服务器之后还包括:
    所述目标录音服务器接收所述交换机发送的经所述交换机混音后的RTP媒体流;
    所述目标录音服务器对经所述交换机混音后的RTP媒体流进行录音。
  8. 根据权利要求7所述的录音控制方法,其特征在于,所述录音媒体信息包括:
    用于指示经所述交换机混音后的RTP媒体流编码类型的编码指示信息;
    用于指示经所述交换机混音后的RTP媒体流是否加密的加密指示信息;
    用于指示当前请求录音的所述客户端录音类型的类型指示信息,其中,所述录音类型包括会议录音类型和点对点录音类型。
  9. 根据权利要求8所述的录音控制方法,其特征在于,所述录音服务器根据所述录音媒体信息确定可负载数量包括:
    所述录音服务器确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源;
    所述录音服务器确定所述录音服务器可用的当前系统资源;
    所述录音服务器确定所述当前系统资源和所述第一消耗系统资源的商为所述可负载数量。
  10. 根据权利要求9所述的录音控制方法,其特征在于,所述录音服务器确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音 所需消耗的第一消耗系统资源包括:
    所述录音服务器根据所述编码指示信息计算对经所述交换机混音后的RTP媒体流进行录音每秒所需要的第一系统资源;
    所述录音服务器根据所述类型指示信息估计当前请求录音的所述客户端所需的录制时长;
    所述录音服务器根据所述加密指示信息确定经所述交换机混音后的RTP媒体流是否加密;
    若否,则所述录音服务器确定所述第一系统资源与所述录制时长的积为所述第一消耗系统资源;
    若是,则所述录音服务器计算解密经所述交换机混音后的RTP媒体流每秒所需要的第二系统资源;
    所述录音服务器计算所述第一系统资源与所述第二系统资源的和;
    所述录音服务器确定所述第一系统资源与所述第二系统资源的和与所述录制时长的积为所述第一消耗系统资源。
  11. 根据权利要求10所述的录音控制方法,其特征在于,所述录音服务器根据所述类型指示信息估计当前请求录音的所述客户端所需的录制时长包括:
    所述录音服务器根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述会议录音类型或所述点对点录音类型;
    若所述录音服务器确定当前请求录音的所述客户端的录音类型为所述会议录音类型,则所述录音服务器统计所述录音服务器已录制的录音文件中录制所述会议录音类型的第一总时长和第一总次数;所述录音服务器确定所述第一总时长和所述第一总次数的商为会议录音平均时长;所述录音服务器确定所述会议录音平均时长为所述录制时长;
    若所述录音服务器根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述点对点录音类型,则所述录音服务器统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;所述录音服务器确定所述第二总时长和所述第二总次数的商为点对点录音平均时长;所述录音服务器确定所述点对点录音平均时长为所述录制时 长。
  12. 根据权利要求9所述的录音控制方法,其特征在于,所述录音服务器确定所述录音服务器可用的当前系统资源包括:
    所述录音服务器确定所述录音服务器可用的总系统资源;
    所述录音服务器确定所述录音服务器当前正在使用的第三系统资源;
    所述录音服务器确定所述录音服务器当前可释放的第四系统资源;
    所述录音服务器计算所述总系统资源和所述第三系统资源的差;
    所述录音服务器确定所述总系统资源和所述第三系统资源的差与所述第四系统资源的和为所述可用的当前系统资源。
  13. 根据权利要求12所述的录音控制方法,其特征在于,所述录音服务器确定所述录音服务器当前正在使用的第三系统资源包括:
    所述录音服务器分别确定所述录音服务器上正在进行录音的各组录音类型;
    所述录音服务器根据各组已确定的所述录音类型分别确定各组进行录音每秒所需要消耗的第二消耗系统资源;
    所述录音服务器分别确定正在进行录音的各组已录制时长;
    所述录音服务器分别确定各组子消耗系统资源,所述子消耗系统资源为所述第二消耗系统资源与所述已录制时长的积;
    所述录音服务器确定所有所述子消耗系统资源的和为所述第三系统资源。
  14. 根据权利要求13所述的录音控制方法,其特征在于,所述第二消耗系统资源为:
    所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源;
    或,
    所述录音服务器录制点对点录音类型每秒所需要消耗的系统资源。
  15. 根据权利要求11或14所述的录音控制方法,其特征在于,所述录音服务器确定所述录音服务器当前可释放的第四系统资源包括:
    所述录音服务器根据各组已确定的所述录音类型分别确定各组录音平均时长,所述录音平均时长为所述会议录音平均时长或所述点对点录音平均时 长;
    所述录音服务器分别确定各组所述已录制时长与所述录音平均时长的差;
    所述录音服务器分别确定各组当前可释放的子系统资源,所述子系统资源为所述已录制时长与所述录音平均时长的差与所述第二消耗系统资源的积;
    所述录音服务器确定所有所述子系统资源的和为所述录音服务器当前可释放的第四系统资源。
  16. 一种SIP服务器,其特征在于,包括:
    第一接收单元,用于接收交换机发送的呼叫请求消息;
    获取单元,用于从所述呼叫请求消息中获取录音媒体信息;
    第一发送单元,用于将所述录音媒体信息发送给各录音服务器;
    第二接收单元,用于接收各录音服务器反馈的可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量,所述客户端数量由所述录音服务器根据所述录音媒体信息确定;
    第一确定单元,用于根据所述可负载数量确定目标录音服务器,以使所述目标录音服务器对所述交换机发送的经所述交换机混音后的RTP媒体流进行录音。
  17. 根据权利要求16所述的SIP服务器,其特征在于,所述第一确定单元包括:
    第一确定子单元,用于确定各所述录音服务器反馈的所述可负载数量最大的录音服务器为所述目标录音服务器。
  18. 根据权利要求16所述的SIP服务器,其特征在于,所述第一确定单元包括:
    第二确定子单元,用于确定所述录音服务器反馈的所述可负载数量大于预置阀值的录音服务器为所述目标录音服务器。
  19. 根据权利要求16所述的SIP服务器,其特征在于,所述SIP服务器还包括:
    第二确定单元,用于确定所述目标录音服务器的目标IP地址;
    第二发送单元,用于将所述目标IP地址发送给所述交换机,以使所述交换机将经所述交换机混音后的RTP媒体流通过所述目标IP地址发送给所述目标录音服务器。
  20. 一种录音服务器,其特征在于,包括:
    第三接收单元,用于接收会话发起协议SIP服务器发送的录音媒体信息,所述录音媒体信息为所述SIP服务器从呼叫请求消息中获取的,所述呼叫请求消息为所述SIP服务器从交换机接收到的;
    第三确定单元,用于根据所述录音媒体信息确定可负载数量,所述可负载数量为所述录音服务器可支持录音的客户端数量;
    第三发送单元,用于将已确定的所述可负载数量发送给所述SIP服务器,以使所述SIP服务器根据所述可负载数量确定目标录音服务器。
  21. 根据权利要求20所述的录音服务器,其特征在于,所述录音服务器还包括:
    第四接收单元,用于接收所述交换机发送的经所述交换机混音后的RTP媒体流;
    录音单元,用于对经所述交换机混音后的RTP媒体流进行录音。
  22. 根据权利要求20所述的录音服务器,其特征在于,第三确定单元包括:
    第三确定子单元,用于确定根据所述录音媒体信息对经所述交换机混音后的RTP媒体流进行录音所需消耗的第一消耗系统资源;
    第四确定子单元,用于确定所述录音服务器可用的当前系统资源;
    第五确定子单元,用于确定所述当前系统资源和所述第一消耗系统资源的商为所述可负载数量。
  23. 根据权利要求22所述的录音服务器,其特征在于,所述第三确定子单元包括:
    第一计算模块,用于根据所述录音媒体信息的编码指示信息计算对经所述交换机混音后的RTP媒体流进行录音每秒所需要的第一系统资源;
    第二计算模块,用于根据所述录音媒体信息的类型指示信息估计当前请求录音的所述客户端所需的录制时长;
    第一确定模块,用于根据所述录音媒体信息的加密指示信息确定经所述交换机混音后的RTP媒体流是否加密;
    第二确定模块,用于若所述第一确定模块确定不加密,则确定所述第一系统资源与所述录制时长的积为所述第一消耗系统资源;
    第三计算模块,用于若所述第一确定模块确定加密,则计算解密经所述交换机混音后的RTP媒体流每秒所需要的第二系统资源;
    第四计算模块,用于计算所述第一系统资源与所述第二系统资源的和;
    第三确定模块,用于确定所述第一系统资源与所述第二系统资源的和与所述录制时长的积为所述第一消耗系统资源。
  24. 根据权利要求23所述的录音服务器,其特征在于,所述第二计算模块包括:
    第一确定子模块,用于根据所述类型指示信息确定当前请求录音的所述客户端的录音类型为所述会议录音类型或所述点对点录音类型;
    第二确定子模块,用于若所述第一确定子模块确定当前请求录音的所述客户端的录音类型为所述会议录音类型,则统计所述录音服务器已录制的录音文件中录制所述会议录音类型的第一总时长和第一总次数;确定所述第一总时长和所述第一总次数的商为会议录音平均时长;确定所述会议录音平均时长为所述录制时长;
    第三确定子模块,用于若所述第一确定子模块确定当前请求录音的所述客户端的录音类型为所述点对点录音类型,则统计所述录音服务器已录制的所述录音文件中录制所述点对点录音类型的第二总时长和第二总次数;确定所述第二总时长和所述第二总次数的商为点对点录音平均时长;确定所述点对点录音平均时长为所述录制时长。
  25. 根据权利要求22所述的录音服务器,其特征在于,所述第四确定子单元包括:
    第四确定模块,用于确定所述录音服务器可用的总系统资源;
    第五确定模块,用于确定所述录音服务器当前正在使用的第三系统资源;
    第六确定模块,用于确定所述录音服务器当前可释放的第四系统资源;
    第五计算模块,用于计算所述总系统资源和所述第三系统资源的差;
    第七确定模块,用于所述录音服务器确定所述总系统资源和所述第三系统资源的差与所述第四系统资源的和为所述可用的当前系统资源。
  26. 根据权利要求25所述的录音服务器,其特征在于,所述第五确定模块包括:
    第四确定子模块,用于分别确定所述录音服务器上正在进行录音的各组录音类型;
    第五确定子模块,用于根据各组已确定的所述录音类型分别确定各组进行录音每秒所需要消耗的第二消耗系统资源;所述第二消耗系统资源为所述录音服务器录制所述会议录音类型每秒所需要消耗的系统资源,或,所述录音服务器录制点对点录音类型每秒所需要消耗的系统资源;
    第六确定子模块,用于分别确定正在进行录音的各组已录制时长;
    第七确定子模块,用于分别确定各组子消耗系统资源,所述子消耗系统资源为所述第二消耗系统资源与所述已录制时长的积;
    第八确定子模块,用于确定所有所述子消耗系统资源的和为所述第三系统资源。
  27. 根据权利要求25所述的录音服务器,其特征在于,所述第六确定模块包括:
    第九确定子模块,用于根据各组已确定的所述录音类型分别确定各组录音平均时长,所述录音平均时长为所述会议录音平均时长或所述点对点录音平均时长;
    第十确定子模块,用于分别确定各组所述已录制时长与所述录音平均时长的差;
    第十一确定子模块,用于分别确定各组当前可释放的子系统资源,所述子系统资源为所述已录制时长与所述录音平均时长的差与所述第二消耗系统资源的积;
    第十二确定子模块,用于确定所有所述子系统资源的和为所述录音服务器当前可释放的第四系统资源。
  28. 一种录音系统,其特征在于,包括:
    当前请求录音的客户端;
    交换机;
    如权利要求16至19任意一项所述的SIP服务器;
    以及多个如权利要求20至27任意一项所述的录音服务器。
PCT/CN2014/094497 2014-02-27 2014-12-22 一种录音控制方法及sip服务器和录音服务器 WO2015127813A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410069020.4A CN104883338B (zh) 2014-02-27 2014-02-27 一种录音控制方法及sip服务器和录音服务器
CN201410069020.4 2014-02-27

Publications (1)

Publication Number Publication Date
WO2015127813A1 true WO2015127813A1 (zh) 2015-09-03

Family

ID=53950673

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/094497 WO2015127813A1 (zh) 2014-02-27 2014-12-22 一种录音控制方法及sip服务器和录音服务器

Country Status (2)

Country Link
CN (1) CN104883338B (zh)
WO (1) WO2015127813A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10182146B2 (en) 2016-08-22 2019-01-15 Nice Ltd. System and method for dynamic redundant call recording
CN112787876A (zh) * 2019-11-07 2021-05-11 成都鼎桥通信技术有限公司 一种会话初始协议服务器的性能评估方法和装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389154B (zh) * 2015-10-21 2018-12-25 北京捷思锐科技股份有限公司 一种录制音视频的方法
CN105245538B (zh) * 2015-10-26 2018-07-17 上海华讯网络系统有限公司 基于sip协议的分布式ip录音系统及方法
CN105847604A (zh) * 2016-05-19 2016-08-10 河北远东通信系统工程有限公司 一种软交换录音系统热备份的实现方法
CN109889549B (zh) * 2019-04-03 2021-09-28 海能达通信股份有限公司 媒体数据下发方法及装置、关键任务一键通系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079934A (zh) * 2007-07-02 2007-11-28 中兴通讯股份有限公司 利用会话初始协议软终端实现录制语音的方法及系统
CN101867577A (zh) * 2010-06-01 2010-10-20 中兴通讯股份有限公司 基于sip的录音控制方法、系统和媒体服务器
CN102804744A (zh) * 2009-06-15 2012-11-28 卡拉布瑞欧有限公司 用于记录基于VoIP网络的呼叫会话的分布式记录服务器体系结构

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396192B2 (en) * 2010-03-03 2013-03-12 Calabrio, Inc. Desktop recording architecture for recording call sessions over a telephony network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079934A (zh) * 2007-07-02 2007-11-28 中兴通讯股份有限公司 利用会话初始协议软终端实现录制语音的方法及系统
CN102804744A (zh) * 2009-06-15 2012-11-28 卡拉布瑞欧有限公司 用于记录基于VoIP网络的呼叫会话的分布式记录服务器体系结构
CN101867577A (zh) * 2010-06-01 2010-10-20 中兴通讯股份有限公司 基于sip的录音控制方法、系统和媒体服务器

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10182146B2 (en) 2016-08-22 2019-01-15 Nice Ltd. System and method for dynamic redundant call recording
US10469658B2 (en) 2016-08-22 2019-11-05 Nice Ltd. System and method for dynamic redundant call recording
US10805456B2 (en) 2016-08-22 2020-10-13 Nice Ltd. System and method for dynamic redundant call recording
US11616878B2 (en) 2016-08-22 2023-03-28 Nice Ltd. System and method for dynamic redundant call recording
CN112787876A (zh) * 2019-11-07 2021-05-11 成都鼎桥通信技术有限公司 一种会话初始协议服务器的性能评估方法和装置
CN112787876B (zh) * 2019-11-07 2022-10-18 成都鼎桥通信技术有限公司 一种会话初始协议服务器的性能评估方法和装置

Also Published As

Publication number Publication date
CN104883338A (zh) 2015-09-02
CN104883338B (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
WO2015127813A1 (zh) 一种录音控制方法及sip服务器和录音服务器
KR101320908B1 (ko) 유니캐스트 세션들과 멀티캐스트 세션 간을 변환하기 위한방법
US8849984B2 (en) Bandwidth requesting system, bandwidth requesting device, client device, bandwidth requesting method, content playback method, and program
US20160164968A1 (en) Adaptive connectivity in network-based collaboration background information
US10097693B2 (en) Managing data streams for a communication network
US9178925B2 (en) Exchanging media stream data between thin client and media gateway, bypassing virtual machine, in cloud computing system
WO2017096841A1 (zh) 一种拉流控制的方法、装置及系统
US20150188928A1 (en) Private-public chat functionality
US20150163295A1 (en) VVoIP CALL TRANSFER
EP2706728A1 (en) Method and device for improving voice or video transmission quality in a cloud computing mode
WO2013097457A1 (zh) 云计算环境中实现voip通话的方法、装置和系统
US11159586B2 (en) Dynamically controlling relay communication links during a communication session
WO2012163075A1 (zh) 一种视频会议的处理方法、装置和通信系统
JP2012527173A5 (zh)
US9264662B2 (en) Chat preauthorization
AU2016218082B2 (en) Distribution of bandwidth in a network
US11716363B2 (en) Messaging resource function
WO2014117506A1 (zh) 一种向群组成员发送多媒体消息的方法及设备
WO2016029742A1 (zh) 一种录音的方法、装置及系统
WO2017152566A1 (zh) 一种协商媒体编解码的方法,及一种终端设备
WO2009033412A1 (fr) Procédé, système et appareil de gestion pour un appareil spécifique dans une session multimédia
US20160241607A1 (en) Reverse signaling to establish network calls
US20130191535A1 (en) Method and system for cloud-based media adaptation and transcoding service
WO2014026316A1 (zh) 媒体数据传输方法及设备
US10412124B2 (en) Initiating a server-directed communication session

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14883950

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14883950

Country of ref document: EP

Kind code of ref document: A1