SYSTEM AND METHOD FOR RECORDING CALLS IN AN IP-BASED COMMUNICATIONS SYSTEM

Abstract
A software solution to recording IP based communications that is highly scalable and reliable. Recordings can be configured to occur automatically or be triggered on-demand by a user that has been given the rights to do so. The user initiating the on-demand recording need not be a participant on the call. The solution is based on two server components: a call manager and a media server. The call manager is responsible for re-routing the IP media stream between two endpoints via the media server. The media server relays the IP media packets while capturing a copy that is stored as the recording. The recordings are stored on a network share and secured using standard network file security mechanisms. Access to playback recordings requires rights that are configured via the administrator. Playback of the recordings can be accomplished via the phone, client application or web service. Each playback interface offers a listing of recordings that the user has rights to access.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be more readily understood with reference to the accompanying drawings, wherein:



FIG. 1 is a block diagram of the system architecture of the invention;



FIG. 2 is a block diagram of the media server architecture of the invention incorporating and implementing the call-recording software of the invention;



FIG. 3 is a depiction of the software layers or kernels of the media server architecture of FIG. 2;



FIGS. 4A and 4B are a flow chart of the recording-resources selection logic of the call-recording software of the invention;



FIG. 5 is a flow chart of the RTP bridge intermediate of FIG. 4;



FIG. 6 is a flow chart of the software recoding application of FIG. 4; and



FIG. 7 is a chart showing the recording setup flow controlled by the call manager program.


Claims
  • 1. (canceled).
  • 2. The method of recording calls in an IP packet-based data network according to claim 21, wherein said IP packet-based data network comprises a plurality of media servers, said method further comprising: (g) directing the data streams between end-users to an intermediate real-time protocol driver interface of another said media server, when said one media server is not capable of handling the data streams.
  • 3. The method of recording calls in an IP packet-based data network according to claim 21, said method further comprising: (g) directing the data streams between end-users to an intermediate real-time protocol driver interface of a said media server of a different IP-based packet-data network, when said at least one media server is not capable of handling the data streams.
  • 4. The method of recording calls in an IP packet-based data network according to claim 21, wherein said data streams of said step (a) are bidirectional media streams of end-users; said step (c) comprises summing the two streams of said bidirectional media streams for providing a single recording of the both sources of a call.
  • 5. The method of recording calls in an IP packet-based data network according to claim 4, wherein said step (c) comprises storing the information of said bidirectional media streams as an extension to the Call Detail Record; said method further comprising searching the stored information of said bidirectional media steams by Call Detail Record attributes.
  • 6. The method of recording calls in an IP packet-based data network according to claim 5, wherein said step of searching Call Detail Record attributes comprises searching for at least one of the following attributes: Caller ID, Automatic Number Identification, and Dialed Number Identification Service.
  • 7. The method of recording calls in an IP packet-based data network according to claim 21, wherein said step (e) comprises rewriting the source and destination IP addresses and ports using a redirection table having the following parameters: ListenPort, SendPort, RedirectPort, and RedirectIPAddr.
  • 8. The method of recording calls in an IP packet-based data network according to claim 7, wherein said (e) further comprises rewriting the source and destination IP addresses and ports using a redirection table having the additional parameters of RedirectMACAddr.
  • 9. The method of recording calls in an IP packet-based data network according to claim 21, wherein said data streams are at least one of: audio packet-data stream and video packet-data stream.
  • 10. The method of recording calls in an IP packet-based data network according to claim 21, wherein said real-time protocol driver interface comprises a RTP bridge device driver.
  • 11. (canceled)
  • 12. The IP packet-based data network according to claim 22, further comprising a plurality of media servers each having a said manager software program, each said manager software program of each said media server comprising transferring means for transferring the data stream between end-users to a said intermediate real-time protocol driver interface of another said media server, when one said media server is not capable of handling the data streams.
  • 13. The IP packet-based data network according to claim 22, wherein said manager software program comprises transferring means for transferring the data streams between end-users to an intermediate real-time protocol driver interface of a said media server of a different IP-based packet-data network, when said at least one media server is not capable of handling the data streams.
  • 14. The IP packet-based data network according to claim 22, wherein said data streams are bidirectional media streams of end-users; said recording program comprising summing means for summing the two streams of said bidirectional media streams for providing a single recording of the both sources of a call.
  • 15. The IP packet-based data network according to claim 22, wherein said recording program comprises means for storing the information of said bidirectional media streams as an extension to the Call Detail Record; and further comprising searching means for searching the stored information of said bidirectional media steams by Call Detail Record attributes.
  • 16. The IP packet-based data network according to claim 15, wherein said searching means searches said stored information of said bidirectional media streams for at least one of the following attributes: Caller ID, Automatic Number Identification, and Dialed Number Identification Service.
  • 17. The IP packet-based data network according to claim 15, wherein said redirection table comprises the following parameters: ListenPort, SendPort, RedirectPort, and RedirectIPAddr.
  • 18. (canceled)
  • 19. The media server according to claim 23, wherein said data streams are bidirectional media streams of end-users; said recording program comprising summing means for summing the two streams of said bidirectional media streams for providing a single recording of the both sources of a call said memory comprising means for storing the information of said bidirectional media streams as an extension to the Call Detail Record; and means for searching the stored information of said bidirectional media steams by Call Detail Record attributes.
  • 20. The media server according to claim 23, wherein said redirection table comprises the following parameters: ListenPort, SendPort, RedirectPort, and RedirectIPAddr.
  • 21. A method of recording calls in an IP packet-based data network, which network includes a plurality of end-users and at least one media server used in connecting the end-users, said at least one media server having memory for storing software applications, said at least one media server comprising a protocol stack stored in said memory, said method comprising: (a) directing data streams between end-users to an intermediate real-time protocol driver interface of said at least one media server, and sending the real-time data streams to upper level protocol of said protocol stack;(b) sending the real-time data streams to a call recording software program stored in the memory of the at least one media server;(c) storing the data streams of said (b) in memory of said at least one media sever using the call recording software program;(d) duplicating the data streams using a software driver program having a redirection table;(e) rewriting the source and destination IP addresses and ports of said data streams as defined by said redirection table of said software driver program of said step (d); and(f) transmitting the data streams of said step (d) to the addresses and ports of said redirection table of said step (e).
  • 22. In an IP packet-based data network, which network includes a plurality of end-users and at least one media server used in connecting the end-users for transmission of data streams, said at least one media server having memory for storing software applications, said at least one media server comprising a protocol stack stored in said memory, the improvement comprising: said protocol stack comprising an intermediate real-time protocol driver interface to which data streams between end-users are sent, a manager software program for controlling calls, and a recording program;said manager software program comprising driver software for duplicating said data streams delivered to it by said intermediate real-time protocol driver interface for subsequent resending of data streams;said manager software program further comprising rewriting means for rewriting the source and destination IP addresses and ports of said data streams, and a redirection table consisting of rewritten source and destination IP addresses and ports of said data streams received from said rewriting means for redirecting the data streams to their designated end-point;said intermediate real-time protocol driver interface transmitting the duplicated data streams to the addresses and ports of said redirection table.
  • 23. In a media server forming part of an IP packet-based data network, which network includes a plurality of end-users and which media server is used in connecting data streams between end-users, said at least one media server having memory for storing software applications, and a protocol stack stored in said memory, the improvement comprising: said protocol stack comprising an intermediate real-time protocol driver interface to which data streams between end-users are sent, a manager software program for controlling calls, and a recording program;said manager software program comprising driver software for duplicating said data streams delivered to it by said intermediate real-time protocol driver interface for subsequent resending of data streams;said manager software program further comprising rewriting means for rewriting the source and destination IP addresses and ports of said data streams, and a redirection table consisting of rewritten source and destination IP addresses and ports of said data streams received from said rewriting means for redirecting the data streams to their designated end-point;said intermediate real-time protocol driver interface transmitting the duplicated data streams to the addresses and ports of said redirection table.
Provisional Applications (1)
Number Date Country
60774000 Feb 2006 US