Controlled access to portions of a communication session recording

The technology disclosed herein enables controlled access to portions of a communication session recording. In a particular embodiment, a method includes accessing a recording of user communications exchanged between participants over a communication session. The method further includes determining that a first participant subset of the participants is participating over the communication session during a first time and a second participant subset of the participants is participating over the communication session during a second time. A first user included the first participant subset is not included in the second participant subset. Upon receiving a request for the first user to access the recording, providing, to a first endpoint of the first user, a first portion of the recording corresponding to the first time and preventing access to a second portion of the recording corresponding to the second time.

TECHNICAL BACKGROUND

Recordings of communication sessions have become an integral part of communication session services. Participants on a communication session (e.g., a conference call) may want to revisit something from the communication session (e.g., to refresh their memory) and, therefore, may playback a recording of the communication session. The recording may include audio exchanged between participants and/or may include other types of media exchanged over the communication session (e.g., video of the participants, presentation slides, chat communications, screen sharing, etc.). Often, the participants joined to a communication session may not be constant throughout the session. In those situations, access to the full recording of the communication session may not be desirable for a participant that was not present for the entirety of the communication session.

SUMMARY

The technology disclosed herein enables controlled access to portions of a communication session recording. In a particular embodiment, a method includes accessing a recording of user communications exchanged between participants over a communication session. The method further includes determining that a first participant subset of the participants is participating over the communication session during a first time and a second participant subset of the participants is participating over the communication session during a second time. A first user included the first participant subset is not included in the second participant subset. Upon receiving a request for the first user to access the recording, providing, to a first endpoint of the first user, a first portion of the recording corresponding to the first time and preventing access to a second portion of the recording corresponding to the second time.

In some embodiments, a second user included in the second participant subset is not included in the first participant subset, and the method includes upon receiving a request, from a second endpoint of the second user, providing, to the second endpoint the second portion of the recording and preventing access to the first portion of the recording.

In some embodiments, a third user is included in both the first participant subset and the second participant subset, and the method includes, upon receiving a request, from a third endpoint of the third user, providing, to the third endpoint the first portion of the recording and the second portion of the recording.

In some embodiments, the method includes authenticating the first user prior to providing the first portion of the recording.

In some embodiments, determining that the first participant subset is participating during the first time and the second participant subset is participating during a second time includes accessing timestamps stored in association with the recording. The timestamps indicate the first time and the second time.

In some embodiments, determining that the first participant subset is participating during the first time and the second participant subset is participating during a second time includes, during the communication session, tracking when endpoints of the participants join and leave the communication session to identify the first time and the second time.

In some embodiments, determining that the first participant subset is participating during the first time and the second participant subset is participating during a second time includes processing the user communications to determine the first time based on when the first participant subset is communicating therein and to determine the second time based on when the second participant subset is communicating therein.

In some embodiments, the method includes determining a context of the user communications during the first time and identifying a non-participant user, not included in the first participant subset, that is an interested party with respect to the context.

In some embodiments, the method includes, upon receiving a request, from an endpoint of the non-participant user, to access a recording of the user communications, providing, to the endpoint, the first portion of the recording.

In some embodiments, receiving user input from a host of the communication session indicating users allowed to access all of the recording.

In another embodiment, an apparatus is provided having one or more computer readable storage media and a processing system operatively coupled with the one or more computer readable storage media. Program instructions stored on the one or more computer readable storage media, when read and executed by the processing system, direct the apparatus to access a recording of user communications exchanged between participants over a communication session. The program instructions further direct the apparatus to determine that a first participant subset of the participants is participating over the communication session during a first time and a second participant subset of the participants is participating over the communication session during a second time. A first user included the first participant subset is not included in the second participant subset. The program instructions also direct the apparatus to, upon receiving a request for the first user to access the recording, provide, to a first endpoint of the first user, a first portion of the recording corresponding to the first time and prevent access to a second portion of the recording corresponding to the second time.

DETAILED DESCRIPTION

The recording access systems described below control who is able to access portions of a recording of a communication session rather than simply controlling access to the recording as a whole. This enables a single communication session to be recorded even when participants join and leave during the communication session. Each participant is allowed access to a portion of the communication session that they attended and is prevented from accessing portions of the communication session from which they were absent. For example, a supervisor may use a communication session to speak with the employees working under them. When the supervisor is finished speaking to one employee, that employee can leave the communication session and a next employee can join. If the supervisor intends each conversation to be private, the supervisor will likely not want all employees who joined the call to access the entire recording. As such, the recording access systems herein provide to a participant only a portion of the recording that corresponds to when the participant was joined to the communication session. The recording access systems prevent the participant from accessing other portions of the recording. Advantageously, the supervisor would not have to schedule multiple communication sessions, one for each employee, in order to provide a recording to each employee that is not accessible by the other employees.

FIG.1illustrates implementation100for controlling access to portions of a communication session recording. Implementation100includes recording access system101, endpoints102-104, and communication session system105. Users122-124operate endpoints102-104, respectively. Recording access system101and communication session system105communicate over communication link111. Endpoint102and communication session system105communicate over communication link112. Endpoint103and communication session system105communicate over communication link113. Endpoint104and communication session system105communicate over communication link114. Communication links111-114are shown as direct links but may include intervening systems, networks, and/or devices. Likewise, communication links between one or more of endpoints102-104and recording access system101may exist that enable endpoint102-104to communicate with recording access system101without communication session system105in the signal path.

In operation, endpoints102-104may each respectively be a telephone, tablet computer, laptop computer, desktop computer, conference room system, or some other type of computing device capable of connecting to a communication session facilitated by communication session system105—including combinations thereof. Communication session system105facilitates communication sessions between two or more endpoints, such as endpoints102-104. A communication session may be audio only (e.g., a voice call) or may also include a video component (e.g., a video call), a graphic component (e.g., presentation slides, screen sharing, etc.), text chat component, and/or some other type of real-time communication. During a communication session, users122-124are able to communicate with one another in real time by way of their respective endpoints102-104capturing user communications therefrom (e.g., the users' voices, video images, text input, etc.). After a communication session, recording access system101is able to access user communications, and potentially other types of media (e.g., screen sharing, presentation slides, etc.) that were exchanged over the communication session. For example, recording access system101may have had access to the communication session during the communication session to generate a recording of the communication session or communication session system105may have generated the recording and made the recording accessible to recording access system101(e.g., may have stored the recording in a storage volume accessible by recording access system101). Regardless, recording access system101performed operation200, as described below to allow access to portions of the recording to users122-124should one of them request the recording. While shown as distinct systems, recording access system101and communication session system105may be incorporated into a single system. That combined system may, therefore, be a platform that provides both communication session services and access to recordings of those sessions.

FIG.2illustrates operation200to control access to portions of a communication session recording. In operation200, recording access system101accesses a recording of user communications exchanged between users122-124over a communication session (201). Users122-124are participants on the communication session but, in this case, are not all joined to the communication session at the same time for the entirety of the communication session. For example, user123may join late and/or user124may jump off early. The user communications include media captured from users122-124, such as audio (e.g., voice), video, or some other type of communication media that enables users122-124to communicate with one another while participating over the communication session. The recording may be stored locally at recording access system101, may be stored in a system that generated the recording if not recording access system101(e.g., communication session system105or a dedicated recording system), may be stored in a network attached storage system, or may be stored in some other location accessible to recording access system101. Recording access system101may access the recording after the recording has been completed or may access the recording while generation of the recording is in progress (e.g., while the communication session is ongoing).

Recording access system101determines that a subset of the participants is participating over the communication session during one time and another subset of the participants is participating over the communication session during another time (202). The two subsets may include any combination of users122-124with user122, in this example, being included in only one of the two subsets. For instance, user122may join the communication session via endpoint102and then drop off before the communication session ends so that user123and user124can continue talking without user122present. In other examples, the two subsets mentioned here may be two of more subsets that participate over the communication session at various times.

Recording access system101may determine which participants are participating over the communication session at any given time by determining when each participant joins and leaves the communication session. Communication session system105may indicate who is currently participating in the communication session over the course of the session. If a user is participating using a soft client executing on their endpoint, the soft client may display a participant list of the participants currently participating. Whichever system generated the recording of the communication session (e.g., recording access system101itself) may, therefore, track who is added to and removed from the participant list during the course of the communication session and store timestamps indicating when in the recording participants join and leave. The timestamps may be stored in metadata of the recording file itself or may be stored separately in association with the recording for access by recording access system101. Recording access system101may also determine who is participating in a communication session by analyzing the user communications in the recording. Analysis of the user communications themselves may indicate to recording access system101who is participating in the communication session even when information associated with the recording (e.g., the timestamps above) are unavailable or cannot detect every participant. For example, if more than one participant joins from the same endpoint, then communication session system105may not be able to tell who all is joined from that endpoint (e.g., if user123and user124both join from endpoint103, then communication session system105may only recognize user123as being a participant even though user124is there as well). The user communications may be analyzed for voices of participants (e.g., comparing voices in the user communications to known voice signatures), for video/photos of participants (e.g., using facial recognition), for words being spoken (e.g., one participant may refer to another participant by name to identify the participant when the participant joins or participants may say goodbye to a participant that is leaving to indicate that the participant has left), for tones in the user communications supplied by communication session system105when a participant joins or leaves, or for some other indicator of who may be participating at any given time during the communication session. Recording access system101may also cross reference invitees to the conference session to increase certainty in its determination that the participant is who recording access system101has determined them to be (e.g., identifying a user as a participant from the user communications may be confirmed by that user being listed in the invitees for the session). Other manners of determining when particular users are participating in the communication session may also be used.

Upon receiving a request from endpoint102for user122to access the recording of the user communications, recording access system101provides endpoint102with the portion of the recording that corresponds the time in which user122is participating over the communication session (203). User122may use endpoint102to log into recording access system101to request the recording (e.g., may use a client application or web-based interface into recording access system101), although other manners of communicating the request to recording access system101may also be used. Even if the request asks for the recording in its entirety, recording access system101has determined above that user122was only participating in the communication session for a particular time. Therefore, recording access system101only transmits the portion of the recording that captured that particular time to endpoint102in response to the request. The time may be defined based on a time of day in which user122joined the communication session and a time of day when user122left the communication session (e.g., user122joined at 12:05 pm and left at 12:33 pm). The time may also be defined based on the run time of the communication session (e.g., user122joined when the session started and left 24 minutes into the session). The time in which user122was on the communication session, regardless of how that period is defined, is provided as the recording to endpoint102for playback, or other use, by user122. The portion of the recording may be transmitted to endpoint102as a file for local storage at endpoint102, may be streamed to endpoint102for real-time playback of the received stream, or may be provided in some other manner.

In some examples, the request may come from endpoint102prior to the portion being available. For instance, user122may indicate that they want a recording of the communication session prior to the session even starting. Endpoint102may, therefore, transmit the request to recording access system101before the session starts and recording access system101may then automatically provide the portion of the recording when user122completes their participation in the communication session. Similarly, the request may not be received from user122via an endpoint thereof. Rather, another user, such as a host or moderator of the communication session may request via their own endpoint that recording access system101provide session participants with recording portions corresponding to each user's time participating in the communication session.

Recording access system101also prevents endpoint102from accessing the portion of the recording where user122is not in the subset of users participating over the communication session (204). Preventing access may be as simple as not providing anything but the portion of the recording that is provided above. However, in some examples, endpoint102may be able to request other portions and recording access system101may deny that request. A host or moderator of the communication session may have indicated their preference to limit user122's access to only those portions of the recording in which user122was a participant or recording access system101may implement that limitation by default to all users. In that latter example, the host or moderator may override the default to allow certain users access to the entire recording.

Advantageously, even though only one communication session took place and only one recording was made of that communication session, every participant on the communication session is not able to access the entire recording. Separate communication sessions need not be established to communicate with each distinct subset of participants to ensure recordings thereof can only be shared with the corresponding subset. Rather, recording access system101can effectively partition the recording after the fact between distinct subsets of participants.

FIG.3illustrates operational scenario300for controlling access to portions of a communication session recording. Operational scenario300is an example of how recording access system101may operate when performing operation200. In operational scenario300, recording access system101connects to communication session system105during the communication session to, at step1, receive user communications301that are exchanged between users122-124via their endpoints102-104. User communications301may include voice and/or video communications captured from users122-124. Recording access system101records user communications301at step2by storing a recording to a storage system within recording access system101or otherwise accessible by recording access system101. The recording may only include user communications301or may include other types of media (e.g., screen sharing, presentation slides, etc.) shared over the communication session. The recording may be stored as a video or audio file in a standardized format (e.g., a format that can be played back by most common media player applications) or may be stored in a format proprietary to recording access system101and client applications on endpoints to interact with recording access system101.

In this example, recording access system101stores timestamps indicating when each of user122are joined to the communication session at step3. Communication session system105may provide information with indications of who is joined to the communication session at any given time during the communication session (e.g., to display the participant's name/identifier in a participants list). Recording access system101may use that information to store timestamps of times in the recording that correspond to when each participant is joined to the communication session. For instance, the timestamps may indicate each point when the participants change (e.g., a participant joins or leaves) and indicate who is joined to the session after the change. The timestamps may be stored in association with, but separately from, the recording (e.g., in a separate file) or may be stored as part of the recording itself (e.g., as metadata within the recording file). Types of information other than timestamps may also be used to indicate to recording access system101which users are participating in the communication session at any given time during the communication session.

Recording access system101receives recording request302at step4from endpoint102to request access to the recording of the communication session in which user122was a participant. In one example, user122operates a client application executing on endpoint102that enables user122to access features provided by recording access system101. The client application may be the same application that user122used to participate in the communication session or may be a different application. User122may indicate to the client application that user122wishes to obtain the recording of the communication session, which directs endpoint102to transmit recording request302to recording access system101. As such, recording request302may be a message complying with an Application Programming Interface (API) call of recording access system101to request recordings. Other manners of requesting data may also be used to indicate to recording access system101that endpoint102is requesting the data that represents the recording of the communication session. In some examples, the communication session must have concluded before a recording of the communication session can be requested and/or before the recording can be provided to endpoint102. In other examples, endpoint102may be allowed to request and be provided with user122's portion of the recording prior to the communication session ending. For example, if user122leaves the communication session prior to the session ending (i.e., the session continues with other participants), then recording access system101may allow endpoint102to request user122's portion of the recording since the recording of user122's portion is complete. In this example, user122requests the recording via the same endpoint, endpoint102, that user122used to attend the communication session. In other examples, user122may request the recording from a different endpoint system (e.g., may participate using their laptop and request the recording via their phone).

Rather than provide the entirety of the recording to endpoint102in response to recording request302, recording access system101identifies recording portion303at step5from the timestamps stored in association with the recording. Specifically, the timestamps indicate that recording portion303is a recording of the communication session encompassing the time in which user122was participating in the communication session. Recording portion303may be one continuous portion of the overall recording of the communication session or may include multiple non-contiguous segments of the overall recording. For example, user122may leave the communication session at one point and then rejoin the communication session a while later. Recording access system101may, therefore, identify both periods in which user122was participating as being the time in which user122was participating and stitch the two segments of the overall recording together to generate recording portion303.

Recording access system101then transmits the identified recording portion303at step6to endpoint102. Upon receiving recording portion303, endpoint102may automatically begin playback of recording portion303to present recording portion303to user122or may store recording portion303for playback at a later time or for some other purpose. Even if user122thought they were requesting the overall recording of the entire communication session, recording access system101prevents user122from accessing the portion of the overall recording in which user122was not a participant by only sending recording portion303. Recording request302may include only the portion of user communications301during which user122was a participant on the communication session or may also include any additional media being shared over the communication session (e.g., presentation slides). In some examples, recording access system101may omit a component of the user communications301during which user122was a participant depending on session host/moderator preferences and/or device capabilities. For example, even if the communication session was a video call, the host of the call may indicate that only audio be supplied in response to recording requests. In such examples, recording access system101may not record the video component at all or may simply omit the video component when providing recording portion303.

FIG.4illustrates implementation400for controlling access to portions of a communication session recording. Implementation400includes recording access system401, endpoints402-406, communication session system407, and communication network409. Communication network409includes one or more local area networks and/or wide area computing networks, including the Internet, over which systems401-407communicate. Endpoints402-406may respectively comprise a telephone, laptop computer, desktop workstation, tablet computer, conference room system, or some other type of user operable computing device. Endpoints402-406are operated by users422-426, respectively. Communication session system407may be an audio/video conferencing server, a packet telecommunications server, a web-based presentation server, or some other type of computing system that facilitates user communication sessions between endpoints. Endpoints402-405may each execute a client application that enables endpoints402-405to join communication sessions facilitated by communication session system407. Endpoint406may also execute the client application but user426is not a participant in the examples below. Endpoints402-405may join communication sessions in other manners, such as dialing in over the public telephone network, in some examples. Recording access system401is a server that communicates with communication session system407to record communication sessions facilitated thereby. Recording access system401may record all communication sessions established by communication session system407or may record only a portion of the communication sessions, such as those when a host/moderator of the communication session requests that the session be recorded. Recording access system401further provides access to those recordings, as described below.

FIG.5illustrates operational scenario500for controlling access to portions of a communication session recording. In operational scenario500, communication session system407establishes communication session501at step1. Communication session501is a communication session in which users422-425will each participate at some point but, at least in this example, users422-425are not all participating for the entire duration of communication session501. After establishing communication session501, communication session system407facilitates the exchange of user communications502over communication session501at step2. User communications502may include voice and/or video communications captured from users422-425via their respective endpoints402-405(e.g., using cameras and/or microphones thereat) over the course of communication session501. As noted above, since endpoints402-405are not all connected to communication session501(and users422-425are not joined to communication session501accordingly) for the entirety of communication session501, it should be understood that user communications502at any given time can only include user communications captured from those endpoints currently connected to communication session501.

In addition to being exchanged between endpoints connected to communication session501, user communications502are transferred to recording access system401at step3. Recording access system401may receive user communications502in real-time as they occur over communication session501or communication session system407may transmit user communications502to recording access system401on some other schedule. Upon receipt of user communications502, recording access system401records user communications502at step4to generate a recording of communication session501. While generating user communications502, recording access system401tracks who of users422-425are participating at times during the communication session501and stores information indicating who is participating at what times in association with the recording. The information for this example is represented by timeline600described below.

FIG.6illustrates timeline600for controlling access to portions of a communication session recording. Timeline600is an example showing when during communication session501each of users422-425are participating over communication session501. The information stored by recording access system401in association with the recording of communication session501may information representing that portrayed by timeline600. In this example, participation bar601represents the time in which user425is participating over communication session501. Participation bars602and603represent the time in which user424is participating over communication session501. Participation bar604represent the time in which user423is participating over communication session501. Participation bar605represents the time in which user422is participating over communication session501.

According to timeline600, communication session501starts at time instance T0and time elapses during communication session501as the viewer moves to the right. At time instance T0, user425, user424, and user423are joined to, and participating over, communication session501. Come time instance T1, user424leaves communication session501(e.g., user424directed endpoint404to disconnect from communication session system407). At time instance T2, user423also leaves communication session501. User425is the only user on communication session501until time instance T3when user422joins communication session501. Then, at time instance user424rejoins communication session501with user425and user422. User422leaves communication session501at time instance T5. User425and user424then remain on communication session501until communication session501ends at time instance T6. Timeline600, therefore, shows which subset of users422-425are participating in communication session501at any given time. In some examples, all of users422-425may be participating in communication session501at the same time for a portion of communication session501. As such, the subset may include all users for certain portions.

In one example of the information stored by recording access system401in association with the recording of communication session501, each of the time instances on timeline600may be represented as timestamps. For instance, the timestamp for time instance T0may indicate that users423-425are participating in communication session501. A timestamp for time instance T1may then indicate that user424dropped and rely on recording access system401keep track of the fact that user424and user425remain. Alternatively, the timestamp may simply indicate user424and user425are still participating at T1. Timestamps for the remaining time instances T2-T6may similarly indicate changes to the participants at that time or may indicate who is currently participating at the time.

In alternative examples, recording access system101may store information that indicates when each user was participating. For instance, recording access system101may store metadata indicating that user425was participating from T0-T6, user424was participating from T0-T1and then from T4-T6, user423was participating from T0-T2, and user422was participating from T3-T5. Alternative manners of representing who is participating in communication session501at what times may also be used by recording access system101.

Referring back to operational scenario500, recording access system401receives recording request503at step5from endpoint402. Recording request503requests the recording of communication session501. Before providing any portion of the recording, recording access system401authenticates user422at step6to determine whether user422is authorized to receive at least a portion of the recording. User122may authenticate themselves using access credentials, such as a username and password combination, that may be provided to recording access system401at the time of recording request503(consistent with the position of step6in the sequence of operational scenario500) or may be provided at some other time (e.g., when user122first logs into a client application that interacts with recording access system401). Recording access system401may simply identify user422as having been a participant in communication session501to determine that user422is authorized and/or may use other information. For instance, user425may be the host of communication session501and may provide instructions regarding which users are allowed to received recordings. While user422in this example is only allowed to receive a portion of the recording of communication session501in which user422was participating, user425may instruct recording access system401to allow user422to receive more than just that portion in other examples.

After authenticating user422, recording access system401identifies recording portion504at step7as being the portion of the recording that corresponds to when user422was participating in communication session501. As shown on timeline600, user422is participating at the time between time instances T3and T5. As such, to create recording portion504, recording access system401copies the user communications (or any other media that may be applicable) in the recording between T3and T5. Recording portion504, therefore, only includes the copied user communications between T3and T5. If user425, as the host, had instructed recording access system401to allow user422to receive more than just the portion of communication session501in which user422was participating, then recording access system401would include some or all of user communications outside of T3-T5based on user425's instructions.

After generating recording portion504, recording access system401transmits recording portion504at step8to endpoint402in compliance with recording request503. In this example, the entirety of recording portion504is transmitted (e.g., to allow playback at a later time) while, in other examples, recording request503may be streamed for streaming playback at endpoint402. In examples where recording portion504is streamed, endpoint402may communicate instructions received from user422to adjust the playback (e.g., to pause, rewind, speed up, or otherwise manipulate the playback). Since endpoint402only receives recording portion504, recording access system401has prevented endpoint402from receiving portions of the recording of communication session501outside of recording portion504.

In some examples, recording portion504may also be provided to other participants in the subset of participants that participated during recording portion504(i.e., user424and user425). Although, since user424is not a participant for the entirety of the portion, user424may instead receive their own portion of the recording of communication session501corresponding to when they are actually participating. In some cases, context may be used to determine whether a user's portion extends beyond the time when the user is actually participating on communication session501. For example, similar to what occurs during operation700below, recording access system401may determine that, even though user424was not present for a portion of recording portion504, user424is an interested party to the entirety of recording portion504. The entirety of recording portion504may, therefore, still be provided to user424via endpoint404(potentially along with other segments of the recording in which user424is a participant, such as T0-T1, or is an interested party).

While the above example focused on user422requesting the recording of communication session501, a similar process would occur in response to another user, such as user423, requesting the recording. In user423's case, they are part of the participant subset that is participating on communication session501between T1and T3. Recording access system401would provide user423only with the portion of the recording between T1and T3(unless otherwise instructed to provide some other portion by the host). User423and user422are provided with their respective portions while recording access system401prevents them from accessing each other's portions.

FIG.7illustrates operation700to control access to portions of a communication session recording. Operation700is an example operation that may be performed by recording access system401to determine whether non-participant users (i.e., users that did not participate in a portion of the recording) can also be provided with at least a portion of the recording. A non-participant user may not have participated in communication session501at all or may have not been a participant in the portion of the recording that is provided to the non-participant user. In operation700, recording access system401determines a context of the portion of communication session501that occurs between T0and T2on timeline600(701). The context may include a topic being discussed between users423-425during the portion, a question(s) asked during the session, a presentation slide(s) shown during the session, an attribute(s) of users423-425(e.g., role in the company), whether user426was originally invited to communication session501but could not attend, or some other factor indicative of whether another party may be interested in the portion—including combinations thereof.

After determining the context, recording access system401determines that user426is an interested party to the portion based on the context (702). User426may be an interested party due to user426having duties (e.g., position with the company) that are relevant to the context determined for the portion. For example, the topic being discussed during the portion may be related to a project that user426manages. Recording access system401, therefore, determines that user426is an interested party to the portion. Recording access system401may notify user426by sending a notification message to endpoint406indicating that user426has been determined to be an interested party to a portion of a communication session. In some examples, the host of communication session501may be required to indicate that recording access system401is allowed to transmit portions of the recording to interested parties that did not attend a respective portion.

In some examples, recording access system401may simply generate and transmit the portion to endpoint406. In this example, recording access system401receives a request for the recording from endpoint406(703). In response to the request, recording access system401provides endpoint406with the portion of the recording corresponding to the time between T0and T2(704). Recording access system401does not provide endpoint406with any portion of the recording outside of provided portion to prevent user426from having access to a portion of the recording in which user426is not an interested party.

While the context of only one portion is discussed above, operation700may also determine contexts of other portions of the recording of communication session501and determine whether there are any interested parties to those portions. Likewise, the example used to describe operation700delineates portions of the recording based on the time instances shown in timeline600. Recording access system401may not be limited to delineating portions of the recording based on those time instances but, instead, may be able to generate additional time instances indicating when the context changes from one context to another. For example, the context may change at least once in between T0and T2rather than that period of time having the same context throughout.

FIG.8illustrates computing architecture800for controlling access to portions of a communication session recording. Computing architecture800is an example computing architecture for recording access systems101and401, although systems101and401may use alternative configurations. Other systems described above, such as the endpoints and communication session systems, may also use computing architecture800. Computing architecture800comprises communication interface801, user interface802, and processing system803. Processing system803is linked to communication interface801and user interface802. Processing system803includes processing circuitry805and memory device806that stores operating software807.

Communication interface801comprises components that communicate over communication links, such as network cards, ports, RF transceivers, processing circuitry and software, or some other communication devices. Communication interface801may be configured to communicate over metallic, wireless, or optical links. Communication interface801may be configured to use TDM, IP, Ethernet, optical networking, wireless protocols, communication signaling, or some other communication format—including combinations thereof.

User interface802comprises components that interact with a user. User interface802may include a keyboard, display screen, mouse, touch pad, or some other user input/output apparatus. User interface802may be omitted in some examples.

Processing circuitry805comprises microprocessor and other circuitry that retrieves and executes operating software807from memory device806. Memory device806comprises a computer readable storage medium, such as a disk drive, flash drive, data storage circuitry, or some other memory apparatus. In no examples would a computer readable storage medium of memory device806, or any other computer readable storage medium herein, be considered a transitory form of signal transmission (often referred to as “signals per se”), such as a propagating electrical or electromagnetic signal or carrier wave. Operating software807comprises computer programs, firmware, or some other form of machine-readable processing instructions. Operating software807includes recording access module808. Operating software807may further include an operating system, utilities, drivers, network interfaces, applications, or some other type of software. When executed by processing circuitry805, operating software807directs processing system803to operate computing architecture800as described herein.

In particular, recording access module808directs processing system803to access a recording of user communications exchanged between participants over a communication session. Recording access module808further directs processing system803to determine that a first participant subset of the participants is participating over the communication session during a first time and a second participant subset of the participants is participating over the communication session during a second time. A first user included the first participant subset is not included in the second participant subset. Recording access module808directs processing system803to, upon receiving a request for the first user to access the recording, provide, to a first endpoint of the first user, a first portion of the recording corresponding to the first time and prevent access to a second portion of the recording corresponding to the second time.

The descriptions and figures included herein depict specific implementations of the claimed invention(s). For the purpose of teaching inventive principles, some conventional aspects have been simplified or omitted. In addition, some variations from these implementations may be appreciated that fall within the scope of the invention. It may also be appreciated that the features described above can be combined in various ways to form multiple implementations. As a result, the invention is not limited to the specific implementations described above, but only by the claims and their equivalents.