Call recording system and call recording method

The call recording system associates internal extension numbers with external telephone numbers by processing voice data from both networks, addressing the challenge of obtaining complete call details without PBX integration.

JP7833336B2Active Publication Date: 2026-03-19NEXTGEN
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-04-26
Publication Date
2026-03-19

AI Technical Summary

Technical Problem

Existing call recording devices struggle to obtain both the external and internal telephone numbers of a call due to management changes through gateways and private branch exchanges, and integrating with PBXs can be costly.

Method used

A call recording system that includes an external line processing unit and an internal line processing unit to collect and process voice data, generating characteristic information, which is then matched to associate the internal extension number with the external telephone number without relying on a private branch exchange.

Benefits of technology

Enables the identification of external and internal phone numbers for recorded calls, allowing for accurate caller and recipient identification without the need for costly PBX integration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007833336000001
    Figure 0007833336000001
  • Figure 0007833336000002
    Figure 0007833336000002
  • Figure 0007833336000003
    Figure 0007833336000003
Patent Text Reader

Abstract

To acquire an outside line telephone number and an inside line telephone number of a telephone conversation to be recorded.SOLUTION: A telephone conversation recording system 100 comprises a detection device and a recording device. The detection device includes an outline processing part for generating first feature information by processing sound data on a telephone conversation obtained by collecting a packet of a first session flowing through an outline network 150 to which an outline telephone machine is connected in a predetermined algorithm. The recording device includes a storage part that stores recording data obtained by corresponding a mating station telephone number acquired from a calling control packet of the first session and an inside line telephone number acquired on the basis of the calling control packet of the second session to the sound data on the telephone conversation transmitted in the first session or the second session, in the case where the sound data on the telephone conversation obtained by collecting the packet of the second session flowing through an own station inside network 110 to which an inside telephone machine and a private branch exchange are connected is processed by a predetermined algorism, and an inside processing part generating second feature information and the first feature information and second feature information are matched while satisfying a predetermined condition.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a call recording system and a call recording method.

Background Art

[0002] In enterprises and the like, when using a plurality of telephones within the premises, a private branch exchange (PBX) is installed to manage internal calls such as connections between internal telephones and connections between internal telephones and external lines connected to the public telephone network.

[0003] In addition, a call recording device for recording the content of a call is known. In the call recording device, for example, in addition to the call content, information such as the telephone number of the call origin, the telephone number of the call destination, the call start time, the call end time, etc. is also recorded.

[0004] Regarding this, technologies related to call recording are known (for example, Patent Document 1). In addition, technologies related to speech recognition processing during a call are also known (for example, Patent Document 2).

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0006] However, when making calls between telephones connected to the internal network and telephones connected to the external network, the management of telephone numbers changes as the call passes through gateways and private branch exchanges (PBXs), making it difficult for call recording devices to obtain both the caller's and recipient's telephone numbers. To obtain both the caller's and recipient's telephone numbers for a call, call recording devices are sometimes integrated with PBXs to obtain telephone number information from the PBX (so-called CTI integration or PBX integration). However, there are cases where call recording devices that can integrate with PBXs do not exist. Furthermore, creating a new call recording device that can integrate with a company's own PBX inevitably incurs high costs. Therefore, there is a need for further technology to obtain both the external and internal telephone numbers of calls to be recorded.

[0007] In one aspect, the present invention aims to obtain the external telephone number and internal extension number of a call to be recorded. [Means for solving the problem]

[0008] A call recording system according to one aspect of the present invention includes: an external line processing unit that collects packets of a first session flowing through an external network to which an external telephone is connected and processes the voice data of the call obtained using a predetermined algorithm to generate first characteristic information; an internal line processing unit that collects packets of a second session flowing through the internal network of the local station to which an internal telephone and a private branch exchange are connected and processes the voice data of the call obtained using a predetermined algorithm to generate second characteristic information; and a storage unit that, when the first characteristic information and the second characteristic information match under predetermined conditions, stores in a storage unit recorded data in which the telephone number of the other station obtained from the call control packets of the first session and the extension number obtained based on the call control packets of the second session are associated with the voice data of the call transmitted in the first or second session. [Effects of the Invention]

[0009] The external and internal phone numbers of the recorded call can be obtained. [Brief explanation of the drawing]

[0010] [Figure 1] This diagram illustrates the system configuration of a call recording system according to the embodiment. [Figure 2] This diagram illustrates the block configuration of a recording device according to an embodiment. [Figure 3] This diagram illustrates the block configuration of the detection device according to the embodiment. [Figure 4] This diagram shows the operation flow of the recording data saving process according to the embodiment. [Figure 5] This is a diagram illustrating example extension number information. [Figure 6] This diagram illustrates the operation flow of the continuous feature information generation process according to the embodiment. [Figure 7] This figure illustrates the generation of continuous feature information according to the embodiment. [Figure 8] This diagram illustrates call channel information according to the embodiment. [Figure 9] This diagram illustrates the operational flow of the query response processing according to the embodiment. [Figure 10] This diagram explains how to determine the matching of feature information. [Figure 11] This diagram illustrates the operation flow of the feature information generation process according to one embodiment. [Figure 12] This diagram illustrates the generation of feature information from audio data. [Figure 13] This diagram illustrates the operation flow of a process for generating sequential feature information according to one embodiment. [Figure 14] This figure illustrates chunk hash information according to one embodiment. [Figure 15] This diagram illustrates a sequence illustrating the flow of the recording data storage process in the embodiment. [Figure 16] This figure illustrates the hardware configuration of a computer for realizing the recording device and detection device according to the embodiment. [Figure 17]It is a diagram showing another example of an outside line network in a call recording system according to an embodiment.

Embodiments for Carrying Out the Invention

[0011] Hereinafter, some embodiments of the present invention will be described in detail with reference to the drawings. In the plurality of drawings, corresponding elements are denoted by the same reference numerals.

[0012] As described above, there is a gateway (GW) between the outside line network and the inside line network. Also, in the inside line network, a private branch exchange intervenes in the calls of each inside line telephone. Then, due to the functions of the gateway and the private branch exchange, the respective telephone numbers in the call between the outside line telephone connected to the outside line network and the inside line telephone connected to the inside line network of the own station may be concealed and cannot be obtained.

[0013] For example, the telephone numbers circulating in the outside line network can be recognized by the gateway for both the own station and the counterpart station. However, usually, the information of the inside line telephone actually making a call in the inside line network, including the inside line number, cannot be recognized by the gateway. Also, when the inside line telephone makes an outgoing call, since the telephone number of the counterpart on the outside line is specified, it is possible to obtain the telephone number of the inside line telephone and the telephone number of the counterpart station on the outside line in the inside line network. However, when there is an incoming call from the outside line, since the gateway or the private branch exchange manages the outside line, the telephone number of the outside line does not circulate in the inside line network.

[0014] Therefore, as described above, techniques such as so-called CTI cooperation and private branch exchange cooperation are used to obtain information on inside line numbers and outside line telephone numbers. However, there may be no existing call recording device that can cooperate with the private branch exchange being used, and it is costly to create a new call recording device that can cooperate with the private branch exchange newly used by the company.

[0015] Therefore, there is a demand for providing a technology that enables the acquisition of outside line telephone numbers and inside line numbers in individual calls without depending on the private branch exchange.

[0016] The inventors of this application focused on the fact that the audio transmitted during a call is common to both the internal and external networks. Therefore, in the embodiments described below, for example, devices for collecting call audio data are installed on both the internal and external networks. When the call audio data obtained from packets collected by the device installed on the internal network and the call audio data obtained from packets collected by the device installed on the external network match under predetermined conditions, they are considered to be the same call. Subsequently, the extension number obtained based on the information of the packets collected by the device installed on the internal network and the external telephone number obtained from packets collected by the device installed on the external network are identified as the two telephone numbers of the caller and recipient. In other words, according to the embodiments, extension numbers and external telephone numbers can be associated without relying on a private branch exchange. This makes it possible to associate the two telephone numbers of the caller and recipient with the recorded call data. The embodiments will be described in more detail below.

[0017] Figure 1 is a diagram illustrating the system configuration of a call recording system 100 according to an embodiment. As shown in Figure 1, in the call recording system 100, the internal network 110, which is the local branch's internal communication network, and the external network 150, which is an external communication network, are connected via a gateway (GW) 101. The internal network 110 includes a plurality of extension telephones 111 (for example, extension telephones 111a to 111c) and a private branch exchange 120. The private branch exchange 120 may be, for example, an IP-PBX (Internet Protocol Private Branch eXchange). The private branch exchange 120 has, for example, the function of connecting incoming external lines to extension telephones 111 and the function of connecting each extension telephone 111 within the branch to an external line, and may control the incoming and outgoing calls of the plurality of extension telephones 111a to 111c.

[0018] Furthermore, in the external network 150 shown in Figure 1, the gateway 101 is connected to the IP (Internet Protocol) telephone network 160 built by the telephone company via an Optical Network Unit (ONU) 151. The Optical Network Unit 151 is, for example, a device that converts electrical signals to optical signals.

[0019] Then, if an external telephone 170 connected to the IP telephone network 160 (hereinafter sometimes referred to as an external telephone 170) makes a call to its own main telephone number set in the private branch exchange 120, the private branch exchange 120 connects it to an internal telephone 111.

[0020] In Figure 1, the detection device 180 is connected to the external network 150 via a hub 152. The detection device 180 monitors packets flowing through the external network 150, for example. When the detection device 180 detects packets of a call between an internal telephone 111 and an external telephone 170 flowing through the external network, it collects voice data from the packets and generates first characteristic information from the voice data according to a predetermined algorithm. Note that SIP messages and RTP packets on the external side may be encrypted. For example, if a SIP message is encrypted by TLS (Transport Layer Security) or the voice packets are encrypted by sRTP (Secure Real-time Transport Protocol), a B2BUA (Back to back User Agent) session porter controller (SBC) may be placed in place of the hub 152. The SBC may then transmit the decrypted SIP message content (external telephone number) and the decrypted voice packets (RTP) to the detection device.

[0021] In Figure 1, the recording device 130 is connected to the internal network 110 via the hub 122. The recording device 130 monitors packets flowing through the internal network, for example. When the recording device 130 detects a call packet between an internal telephone 111 and an external telephone 170 flowing through the internal network, it collects the voice data of the call from the packet and generates second characteristic information from the voice data according to a predetermined algorithm, the same algorithm used in the detection device 180. The call packets between the internal telephone 111 and the external telephone 170 include, for example, a call control packet containing call control information for call control. Therefore, based on information such as the type of packet and the destination address contained in the call control information, the recording device 130 and the detection device 180 can detect the call packets between the internal telephone 111 and the external telephone 170.

[0022] The recording device 130 is communicably connected to the detection device 180 via a communication line 155 and transmits an inquiry containing the generated second characteristic information to the detection device 180 via the communication line 155, and queries the detection device 180 for external line information. The external line information may include, for example, the telephone number of the other party's external telephone 170 in the call.

[0023] When the detection device 180 receives the second characteristic information from the recording device 130, it compares the received second characteristic information with the first characteristic information generated by the detection device 180. It then determines that the first and second characteristic information match, satisfying predetermined conditions. In this case, the packets transmitting the voice data used to generate the first and second characteristic information can be considered as packets transmitting the voice of the same call. Therefore, the detection device 180 obtains the telephone number of the external telephone 170 from the call control packet of the session transmitting the voice data used to generate the first characteristic information, and notifies the recording device 130 of the external information, including the telephone number of the external telephone 170, via the communication line 155.

[0024] When the recording device 130 receives external line information from the detection device 180, it obtains the extension number of the extension telephone 111 based on the call control information of the call control packet of the session transmitting the voice data used to generate the second characteristic information. The recording device 130 then generates recording data that associates the voice data transmitted in that session with the telephone number of the external telephone 170 included in the external line information and the obtained extension number of the extension telephone 111, and stores it in the memory device. As a result, a user of the call recording system 100 can, for example, find out which telephones the voice in the recording data represents. The recording data may also include other information such as the start and end times of the call.

[0025] The following describes in more detail the data storage process performed by the detection device 180 and the recording device 130. The call control packet may be, for example, a SIP (Session Initiation Protocol) packet, or a packet of the H.323 protocol, etc. The following explanation will use a SIP packet as an example.

[0026] Figure 2 is a diagram illustrating the block configuration of a recording device 130 according to an embodiment. The recording device 130 includes, for example, a control unit 201, a storage unit 202, and a communication unit 203. The control unit 201 of the recording device 130 includes, for example, an extension processing unit 211 and a storage unit 212. The storage unit 202 of the recording device 130 may store, for example, extension number information 500, extension numbers of calls, external line information, and recording data, which will be described later. The communication unit 203 connects to the internal network according to instructions from the control unit 201 and collects packets flowing through the internal network. The communication unit 203 also communicates with the detection device 180 according to instructions from the control unit 201, for example. Details of each of these units and details of the information stored in the storage unit 202 will be described later.

[0027] Figure 3 illustrates the block configuration of a detection device 180 according to an embodiment. The detection device 180 includes, for example, a control unit 301, a storage unit 302, and a communication unit 303. The control unit 301 of the detection device 180 includes, for example, an external line processing unit 311. The storage unit 302 of the detection device 180 may store, for example, call channel information 800 and chunk hash information 1400, which will be described later. The communication unit 303 connects to an external network and collects packets flowing through the external network, for example, according to instructions from the control unit 301. The communication unit 303 also communicates with the recording device 130, for example, according to instructions from the control unit 301. Details of each of these units and details of the information stored in the storage unit 302 will be described later.

[0028] Next, the data saving process performed by the control unit 201 of the recording device 130 according to this embodiment will be described.

[0029] Figure 4 is a diagram showing the operation flow of the recording data saving process performed by the control unit 201 of the recording device 130 according to this embodiment. The control unit 201 of the recording device 130 may start the operation flow shown in Figure 4 when an instruction to execute the recording process is input.

[0030] In S401, the control unit 201 of the recording device 130 captures packets flowing through the internal network via the hub 122.

[0031] In S402, the control unit 201 determines whether the captured packet is a SIP packet. The type of packet can be determined from information such as the packet header. If the captured packet is a SIP packet (S402 is YES), the flow proceeds to S403.

[0032] In S403, the control unit 201 determines whether the SIP packet is a session initiation packet. If the SIP packet is not a session initiation packet in S403 (S403 is NO), the flow proceeds to S405. On the other hand, if the SIP packet is a session initiation packet (S403 is YES), the flow proceeds to S404.

[0033] In S404, the control unit 201 obtains the extension number based on the address information contained in the SIP packet. For example, the storage unit 202 of the recording device 130 may store extension number information 500 that associates the IP address assigned to the private branch telephone with the extension number. Figure 5 shows an example of extension number information 500. The control unit 201 may, for example, refer to the extension number information 500 to identify the extension number that corresponds to the IP address contained in the SIP packet. Note that the embodiment is not limited to this. For example, in another embodiment, the recording device 130 may obtain extension number information from the private branch exchange 120 based on the address information of the SIP packet. The control unit 201 then stores the extension number in the storage unit 202, and the flow proceeds to S405.

[0034] In S405, the control unit 201 determines whether the SIP packet is a session termination packet. If the SIP packet is not a session termination packet (S405 is NO), the flow returns to S401 and the processing is repeated for the new packet.

[0035] Furthermore, if the packet captured in S402 is not a SIP packet (S402 is NO), the flow proceeds to S407.

[0036] In S407, the control unit 201 determines whether the captured packet is an RTP (Real-time Transport Protocol) packet that transmits voice data for a session established with a SIP packet. The SIP packet used to initiate the session, as described above, includes address information for RTP packets transmitted within the session, for example, using the SDP (Session Description Protocol) protocol. In one example, the control unit 201 may determine, based on this information, whether the captured packet is an RTP packet that transmits voice data for a session established with a SIP packet. If the captured packet is not an RTP packet that transmits voice data for a session established with a SIP packet (S407 is NO), the flow returns to S401 and the processing is repeated for new packets. On the other hand, if the captured packet is an RTP packet that transmits voice data for a session established with a SIP packet (S407 is YES), the flow proceeds to S408. Here, an RTP packet is used as an example of a packet that transmits voice data, but the embodiment is not limited to this, and other packets that transmit voice data may also be used.

[0037] In S408, the control unit 201 collects audio data from the captured RTP packets. Then, in S409, the control unit 201 stores the collected audio data in the storage unit 202.

[0038] In S410, the control unit 201 determines whether the external line information, including the telephone number of the corresponding external telephone 170 of the other station, for the currently processed session has already been stored in the storage unit 202. The external line information is stored in the storage unit 202 in the process described in S414. If the external line information has already been stored in the storage unit 202 (S410 is YES), the flow returns to S401. On the other hand, if the external line information has not already been stored in the storage unit 202 (S410 is NO), the flow proceeds to S411.

[0039] In S411, the control unit 201 processes the audio data stored in the storage unit 202 in S409 using a predetermined algorithm and executes a feature information generation process to generate feature information that represents the characteristics of the audio data. As feature information representing the characteristics of the audio data, in one example, a hash value generated from the audio data or an audio fingerprint (e.g., Landmark-based fingerprinting) can be used. By using the hash value of the audio data for comparison, the amount of data and computation in audio comparison can be reduced. However, in another embodiment, the feature information may be audio data extracted from a portion of the audio data stored in the storage unit 202. Alternatively, the feature information may be voiceprint data generated from the audio data. Furthermore, voiceprint data may be used in combination with other audio comparisons (e.g., comparison of hash values, etc.). Further examples of feature information generation will be described later with reference to Figures 11 to 14.

[0040] In S412, the control unit 201 uses the generated feature information to query the detection device 180 for external line information. The external line information may include, for example, the telephone number of the other station's external telephone 170, which cannot be obtained inside the gateway 101. Furthermore, the external line information may also include, for example, the local station's telephone number (external line), which cannot be obtained inside the gateway 101.

[0041] The detection device 180 monitors packets in the external network, for example, and generates feature information representing the characteristics of the voice data collected from the packets. If the detection device 180 finds feature information in the generated feature information that matches the feature information notified by the recording device 130 in accordance with predetermined conditions, it may obtain the telephone number of the remote station's external telephone 170 and its own telephone number (external) from the call control packet of the session in which the voice data used to generate the feature information is transmitted, and send the external line information, including the telephone number of the remote station's external telephone 170 and its own telephone number (external), back to the recording device 130. If the detection device 180 does not find any feature information that matches the feature information notified by the recording device 130 in accordance with predetermined conditions, it may send a message indicating abnormal termination. Further details of the processing performed by the detection device 180 will be described later with reference to Figure 6.

[0042] In S413, the control unit 201 determines, based on the query, whether or not it has received external line information from the detection device 180. If it receives notification of abnormal termination from the detection device 180 (S413 is NO), the flow returns to S401. On the other hand, if it has received external line information from the detection device 180 (S413 is YES), the flow proceeds to S414.

[0043] In S414, the control unit 201 stores the external line information in the storage unit 202, and the flow returns to S401.

[0044] Then, if the SIP packet in S405 is a session termination packet (S405 is YES), the flow proceeds to S406. In S406, the control unit 201 generates recording data by associating the extension number obtained in S404, the telephone number of the other station's external telephone 170 and the local station's telephone number (external) included in the external line information stored in the storage unit 202 in S414, and the voice data of the call stored in the storage unit 202 in S409. The recording data is then stored in the storage unit 202, and the flow returns to S401.

[0045] As described above, by comparing feature information representing the characteristics of the voice data, it is possible to identify sessions that transmit the same voice data for a call on both the internal and external networks, and to associate the extension number with the telephone number of the external telephone 170 based on the call control packet information of that session. As a result, it is possible to attach information about the extension number and the telephone number of the external telephone 170 that made or received a call to the recorded data, without relying on the private branch exchange. Furthermore, in the above embodiment, the local telephone number on the external network is also acquired, so for example, if multiple representative numbers are set, it is possible to identify which representative number was used. However, in this embodiment, it is not necessary to acquire the local telephone number on the external network.

[0046] Next, we will explain the processes performed by the detection device 180.

[0047] Figure 6 is a diagram illustrating the operation flow of the feature information generation process performed by the control unit 301 of the detection device 180 according to the embodiment.

[0048] Note that in Figure 6, the processes S601-S603, S605, and S607-S608 correspond to the processes S401-S403, S405, and S407-S408 in Figure 4, respectively, and for example, the same processes as S401-S403, S405, and S407-S408 may be executed. However, the detection device 180 is installed in the external network 150 as shown in Figure 1, and in S601, the control unit 301 captures packets flowing through the external network. Then, in S604, the control unit 301 stores external line information (for example, the telephone number of the external telephone 170 of the other station, and the telephone number (external line) of the local station) from the call control packet.

[0049] Furthermore, in S609, the control unit 301 acquires multiple audio data by shifting the starting position from the audio data collected in S608, and executes a continuous feature information generation process to generate continuous feature information from each of the audio data.

[0050] Figure 7 illustrates the generation of consecutive feature information according to the embodiment. Figure 7(a) shows a stream of RTP packets flowing through a session. The control unit 301 collects audio data from the RTP packets in processing S608, divides the collected audio data into chunks of a predetermined length (e.g., 10ms) in S609, and creates multiple consecutive chunks (Figure 7(b)). The control unit 301 then generates multiple feature information using a predetermined number of chunks (five in Figure 7) of audio data, while shifting the starting position of the chunks used to generate the feature information. By generating feature information at multiple starting positions in this way, even if it is not known where the audio data used to generate the feature information notified by the inquiry from the recording device 130 starts, for example, the corresponding feature information can be found by searching whether each of the generated feature information matches the feature information notified by the inquiry. Furthermore, settings such as the number of feature information pieces generated by the detection device 180 and the range of audio data used to generate the feature information can be determined according to the configuration and environment of the call recording system 100, such as the time it takes for the detection device 180 to detect a packet that transmits the same data as the packet detected by the recording device 130. Then, in the processing of S609, the control unit 301 may register the multiple feature information pieces generated while shifting the starting position in the call channel information 800.

[0051] Figure 8 illustrates call channel information 800 according to an embodiment. The call channel information 800 includes, for example, a call channel, external line information, and multiple feature information. The call channel is information that identifies the line used for the call. External line information may be registered in the processing of S604 (for example, the telephone number of the other station's external telephone 170 and the local station's telephone number (external line)). Multiple feature information may be registered in accordance with the order of the RTP packet stream. In the example of Figure 8, the feature information registered in the upper row is generated from the voice data of RTP packets located towards the beginning, and the feature information registered in the lower row is generated from the voice data of RTP packets located towards the end. The call channel information 800 may be generated for each call session detected in the processing of S603.

[0052] As shown in the operation flow of Figure 8 above, the control unit 301 of the detection device 180 can generate call channel information 800 for each detected session from packets flowing through the external network 150.

[0053] Next, the query response processing performed by the detection device 180 according to the embodiment will be described. Figure 9 is a diagram illustrating the operation flow of the query response processing performed by the control unit 301 of the detection device 180 according to the embodiment. For example, when the control unit 301 of the detection device 180 receives an inquiry about external line information from the recording device 130 as a result of the processing in S412 described above, it may start the operation flow shown in Figure 9.

[0054] In S901, the control unit 301 of the detection device 180 selects an unselected call channel information 800 from among the call channel information 800 generated for the currently ongoing session.

[0055] In S902, the control unit 301 selects unselected feature information from the selected call channel information 800.

[0056] In S903, the control unit 301 determines whether the feature information included in the query from the recording device 130 and the feature information selected from the call channel information 800 match under predetermined conditions. The predetermined conditions may be set according to the values ​​used as feature information, for example. For example, if a hash value obtained based on voice data is used as feature information, the predetermined condition may be that the two pieces of feature information match. Also, for example, if voice data of a predetermined length extracted from voice data is used as feature information, the predetermined condition may be that the two pieces of feature information are similar within a predetermined error range. Furthermore, the predetermined condition may be that they are similar within a predetermined error range by voiceprint data comparison, for example. Thus, the processing in S903 may be performed to allow a predetermined error depending on the nature of the feature information used, or it may be performed to determine whether they are a perfect match or not. If the feature information does not match (S903 is NO), the flow proceeds to S905.

[0057] In S905, the control unit 301 determines whether the confirmation of matching with all feature information included in the selected call channel information 800 has been completed. If there is still unselected feature information (S905 is NO), the flow returns to S902, and the unselected feature information is selected and the process is repeated. On the other hand, if the confirmation of matching with all feature information included in the call channel information 800 has been completed (S905 is YES), the flow proceeds to S906.

[0058] In S906, the control unit 301 determines whether there are any unselected call channel information 800 among the call channel information 800 generated for the currently ongoing session. If there are still unselected call channel information 800 (S906 is NO), the flow returns to S901, selects the unselected call channel information 800, and repeats the process. On the other hand, if all of the call channel information 800 generated for the currently ongoing session has been processed (S906 is YES), the flow proceeds to S907.

[0059] In S907, the control unit 301 was unable to identify a call channel information 800 that matched the feature information, so it sent an abnormal termination message to the recording device 130, and this operation flow ended.

[0060] Furthermore, if the feature information matches in S903 (S903 is YES), the flow proceeds to S904. In this case, the voice data of the call used to generate the feature information notified in the inquiry and the voice data of the call used to generate the feature information of the call channel information 800 can be considered to be the same call. Therefore, in S904, the control unit 301 sends a response to the recording device 130 that includes the external line information of the call channel information 800 in which the matched feature information is registered (for example, the telephone number of the other station's external telephone 170 and the local station's telephone number (external)), and this operation flow ends.

[0061] According to the operation flow shown in Figure 9 above, the control unit 301 of the detection device 180 can provide external line information to the recording device 130 by identifying call channel information 800 that contains feature information matching the feature information notified by the query. Furthermore, if the control unit 301 of the detection device 180 cannot identify matching feature information, it can notify that no matching feature information could be found by returning an abnormal termination.

[0062] Figure 10 illustrates the determination of feature information matching performed in the operation flow of Figure 9 described above. Figure 10 shows the stream of RTP packets (RTP1 to RTPn) transmitted for the session detected by the control unit 301 of the detection device 180 (Figure 10(a)). In this embodiment, the control unit 301 divides the audio data transmitted in the stream of RTP packets into chunks of a predetermined length (e.g., 10 ms) and creates a series of consecutive chunks (Figure 10(b)).

[0063] The control unit 301 then generates multiple feature information from audio data that has been grouped into a predetermined number of chunks, while shifting the starting position (Figure 10(c)). For example, in the example in Figure 10, feature information is generated from audio data that has been grouped into five chunks, and multiple feature information (for example, feature information 1 to feature information 5) is generated by shifting the starting position by one chunk at a time. The control unit 301 then compares the generated multiple feature information with feature information X received from the recording device 130. Here, suppose that one of the generated multiple feature information and feature information X received from the recording device 130 match, satisfying a predetermined condition. For example, in the example in Figure 10, feature information 4 and feature information X match. In this case, the control unit 301 can identify the call from which feature information 4 and feature information X were acquired as the same call.

[0064] In Figure 10(c), multiple consecutive feature information points are generated by gradually shifting the starting position of the audio data used to generate the feature information. This allows for the determination of whether or not it is the same call by searching for a matching position, even when it is not known which position in the audio data collected by the detection device 180 corresponds to the starting position of the audio data used to generate feature information X in the recording device 130 in Figure 10(d).

[0065] As described above, according to the embodiment, the recording data can be saved by associating the internal extension number obtained from the internal network with the telephone number of the external telephone 170 obtained from the external network and the telephone number of the local office (external line) of the voice data of the call. Therefore, according to the embodiment, it becomes possible to identify the call originator and destination from the recording data.

[0066] (Example of feature information generation) Next, an example of generating feature information according to the embodiment is shown below. In the following example, the hash value of the chunks obtained by the division of the audio data described above is calculated, and the stream hash obtained by further obtaining a hash value from the hash values ​​of the multiple chunks obtained is used as feature information.

[0067] Figure 11 is a diagram illustrating the operation flow of the feature information generation process performed by the recording device 130 according to one embodiment. Figure 12 is a diagram illustrating the generation of feature information from audio data. In one embodiment, the control unit 201 of the recording device 130 may, for example, execute the operation flow of Figure 11 in S411.

[0068] In S1001, the control unit 201 reads out audio data for a predetermined period corresponding to the RTP packet from the audio data stored in the storage unit 202 in the processing of S409, and divides the audio data into multiple chunks (Figures 12(a) and (b)). In one embodiment, the audio data for the predetermined period that is read out may include audio data contained in the RTP packet received in the execution of the most recent processing in S407.

[0069] In step S1002, the control unit 201 generates hash values ​​for a predetermined number of chunks from among the multiple chunks obtained by partitioning. In the example in Figure 12(c), five hash values ​​are generated from each of five consecutive chunks. Hereafter, the hash values ​​generated from chunks may be referred to as chunk hashes. Furthermore, hash value generation can be performed using various hash algorithms, such as FNV-1 and CRC-32.

[0070] In S1003, the control unit 201 generates a stream hash using a predetermined number of chunk hashes that have been generated. In the example in Figure 12(d), the control unit 201 applies a hash algorithm to five consecutive chunk hashes and generates a hash value. The hash value generated from these multiple consecutive chunk hashes may be referred to as a stream hash below. Once the stream hash is generated, the operation flow in Figure 11 ends, and the flow may proceed to S412. In S412, the control unit 201 may query the generated stream hash as feature information and query external line information.

[0071] Next, we will explain the feature information generation process of the recording device 130 in Figure 11 and the sequential feature information generation process by the corresponding detection device 180.

[0072] Figure 13 is a diagram illustrating the operation flow of a sequential feature information generation process according to one embodiment. For example, when the control unit 301 of the detection device 180 proceeds to S609 in Figure 6, it may start the operation flow of Figure 13.

[0073] In S1301, the control unit 301 divides the audio data collected in the processing of S608 into multiple chunks. In S1302, the control unit 301 selects one chunk from the beginning of the generated multiple chunks.

[0074] In S1303, the control unit 301 generates a chunk hash from the selected chunk. In S1304, the control unit 301 updates the chunk hash information 1400 with the generated chunk hash. Note that in the process of S1303, if the number of chunk hashes registered in the chunk hash information 1400 is less than a predetermined number, the control unit 301 may register the generated chunk hash at the end of the registered chunk hashes. On the other hand, if a predetermined number of chunk hashes are already registered in the chunk hash information 1400, the control unit 301 deletes the oldest registered chunk hash at the beginning of the chunk hash information 1400. Then, the control unit 301 may update the chunk hash information 1400 by adding the newly generated chunk hash in S1303 to the end of the chunk hash information 1400.

[0075] Figure 14 illustrates chunk hash information 1400 according to one embodiment. The chunk hash information 1400 registers a call channel, external line information, and a predetermined number of chunk hashes. The call channel is information that identifies the line used for the call. In addition, external line information (for example, the telephone number of the other station's external telephone 170 and the telephone number of the local station (external line)) may be registered in the processing of S604. A predetermined number of chunk hashes may be registered in the chunk hashes according to the order of the RTP packet stream that transmits the voice data used to generate the chunk hashes. In the example of Figure 14, the chunk hashes registered in the upper row are generated from the voice data of RTP packets located closer to the beginning, and the chunk hashes registered in the lower row are generated from the voice data of RTP packets located closer to the end. The chunk hash information 1400 may be generated for each call session detected by S603.

[0076] Then, in the process of S1305, the control unit 301 determines, for example, whether the number of chunk hashes registered in the chunk hash information 1400 has reached a predetermined number. In one embodiment, the predetermined number may be set to the number of chunk hashes used to generate the stream hash. If the number of chunk hashes registered in the chunk hash information 1400 is less than the predetermined number (S1305 is NO), the flow proceeds to S1308. On the other hand, if the chunk hash information 1400 has a predetermined number of chunk hashes registered (S1305 is YES), the flow proceeds to S1306.

[0077] In S1306, the control unit 301 arranges the chunk hashes registered in the chunk hash information 1400 in order from the first chunk hash, applies a hash algorithm, and generates a stream hash.

[0078] In S1307, the control unit 301 registers the generated stream hash as feature information in the call channel information 800 and updates the call channel information 800. The generated stream hashes may be added to the call channel information 800 sequentially. Alternatively, as described in the example of chunk hash information 1400 in Figure 14, the update may be performed so that a predetermined number of stream hashes are registered in the call channel information 800 in order of newly generated stream hashes.

[0079] In S1308, the control unit 301 determines whether all chunks generated by the division in S1301 have been processed. If there are unprocessed chunks (S1308 is NO), the flow returns to S1302. On the other hand, if processing of all chunks is complete (S1308 is YES), this operation flow ends and the flow may return to S601.

[0080] As shown in the operation flow of Figure 13 above, the stream hash can be stored as feature information in the call channel information 800. Note that the stream hash described with reference to Figures 11 to 14 is just one example of feature information, and the feature information in this embodiment is not limited to this. For example, a voice fingerprint can be used as feature information, or a predetermined number of chunk hashes generated by the processing in Figures 11 to 14 may be arranged and used as feature information.

[0081] Figure 15 is a diagram illustrating a sequence illustrating the flow of the recording data storage process in the embodiment. As shown in Figure 15, when a call starts, the recording device 130 starts recording the voice of the call and also acquires the extension number based on the call packets (1501a in Figure 15). Note that since the recording device 130 is connected to the internal network, it does not acquire the telephone number of the other station circulating on the external network or the telephone number of its own station's external line.

[0082] Next, the recording device 130 generates characteristic information from the voice of the call (1502a in Figure 15). The recording device 130 transmits an inquiry containing the generated characteristic information to the detection device 180 (1503a in Figure 15).

[0083] Meanwhile, when a call begins, the detection device 180 also obtains the telephone number of the other party in the call and the telephone number of its own external line from the call packets (1501b in Figure 15). Note that since the detection device 180 is connected to the external network, it does not obtain extension numbers that circulate on the internal network.

[0084] Next, the detection device 180 generates a series of feature information using multiple audio data points with different starting positions obtained from the audio of the call (1502b in Figure 15).

[0085] When the recording device 130 receives an inquiry, the detection device 180 searches to see if the feature information of the inquiry matches any of the multiple feature information obtained from the voice data during the call. For example, in Figure 15, the feature information of the inquiry does not match the feature information obtained from call A (1503b in Figure 15). However, the feature information of the inquiry does match the feature information obtained from call B (1504b in Figure 15).

[0086] Therefore, the detection device 180 notifies the recording device 130 of the external line information for call B (for example, the telephone number of the other station and the external line telephone number of the own station) (1505b in Figure 15). As a result, the recording device 130 can obtain the external line information for the inquired call (for example, the telephone number of the other station and the external line telephone number of the own station).

[0087] Next, when the call ends, the recording device 130 outputs recording data that associates the extension number of the call with the telephone number of the other station and the telephone number of the local station's external line, which are included in the external line information received from the detection device 180 (1504a in Figure 15). For example, the recording device 130 may store the recording data in the storage unit 202. This makes it possible to identify the caller and recipient information, as well as the local station's main telephone number used for the call, from the recording data stored in the storage unit 202.

[0088] While embodiments have been illustrated above, the embodiments are not limited thereto. For example, the operation flow described above is illustrative, and the embodiments are not limited thereto. Where possible, the operation flow may be executed with a different order of processing, may include additional processing, or some processing may be omitted.

[0089] Furthermore, in the above-described embodiment, an IP-PBX is shown as an example of a private branch exchange 120, and an example is shown in which an IP telephone network 160 is used for connection to an external telephone. However, the embodiment is not limited to this. For example, even when the external network is ISDN (Integrated Services Digital Network), telephone number information can be obtained from ISDN call data based on the protocol specifications. Also, for example, even in the case of a call via an analog line, the above-described embodiment can be applied by performing analog-to-digital conversion and processing it as a digital signal.

[0090] Furthermore, the above-described embodiment illustrates a case where the recording device 130 is located on the internal network and the detection device 180 is located on the external network. In this case, the recording device 130 can record all internal calls between internal telephones 111 and all calls to the outside. However, the embodiment is not limited to this. For example, in another embodiment, the recording device 130 may be located on the external network and the detection device 180 may be located on the internal network. In this case, the detection device 180 may acquire the extension number and notify the recording device 130, thereby enabling the recording device 130 to associate the acquired exchange number and its own number (external) with the received extension number and save the recorded data. Also, for example, by connecting the recording device 130 to the external network, only telephones connected to the outside can be efficiently recorded.

[0091] Furthermore, the above-described embodiment shows an example in which the recording device 130 and the detection device 180 are directly connected by a communication line 155, and an example is shown in which feature information and external line information are exchanged via the communication line 155. However, the embodiments are not limited to this. For example, in another embodiment, feature information and external line information may be included in the voice data of the RTP packet using techniques such as voice watermarking.

[0092] Furthermore, although the detection device 180 is shown as a single device in the embodiments described above, the embodiments are not limited thereto. For example, if the recording device 130 is installed in an internal network, the detection device 180 may be incorporated into the gateway 101. Also, for example, if the recording device 130 is installed in an external network, the detection device 180 may be incorporated into the private branch exchange 120.

[0093] Furthermore, as a method for obtaining extension numbers circulating in the internal network 110 across gateway 101 and private branch exchange 120, or telephone numbers of other exchanges circulating in the external network 150, it is conceivable to connect an adapter that transmits an extension number voice signal to an extension telephone 111 and notify the extension number by voice. However, in this case, it would be necessary to connect an adapter to each extension telephone 111 or to configure the adapter to transmit an individual extension number voice signal. However, according to the above embodiment, it is not necessary to install an adapter or the like on each extension telephone. Also, for example, by monitoring packets flowing through the internal network and packets flowing through the external network, it is possible to obtain extension numbers circulating in the internal network and telephone numbers of other exchanges circulating in the external network without configuring the adapter to transmit an individual extension number voice signal.

[0094] Furthermore, as mentioned above, external SIP messages and RTP packets may be encrypted. For example, if SIP messages are encrypted using TLS (Transport Layer Security) or voice packets are encrypted using sRTP (Secure Real-time Transport Protocol), a B2BUA (Back to Back User Agent) session boat controller (SBC) may be deployed instead of hub 152.

[0095] Figure 17 shows another example of the external network 150 in the call recording system 100 of Figure 1. In Figure 17, an SBC1701 is placed instead of the hub 152. The SBC1701 is, for example, a B2BUA-type session porter controller that can decrypt encrypted SIP messages (TLS, etc.) and voice packets (sRTP, etc.). The SBC then sends the content of the decrypted SIP message (external telephone number) and the decrypted voice packet (RTP) to the detection device. For example, when a call is made from an external telephone to a private branch exchange 120 such as an IP-PBX, the SBC1701 acts as a User Agent Server, and User Agent 1 terminates the SIP / RTP and passes it on to User Agent 2. In other words, the SBC1701 simply pretends to be an IP-PBX (GW in this configuration). Similarly, if a call is initiated from the private branch exchange 120, such as an IP-PBX, user agent 2 terminates the call and hands it over to user agent 1.

[0096] Furthermore, if communication with an external telephone is encrypted, encryption and decryption are performed by user agent 1 of the SBC1701. Therefore, the SBC1701 makes it possible to distribute unencrypted SIP messages and voice packets to the detection device.

[0097] In the embodiments described above, for example, in S411, the process shown in Figure 11, and 1502a, the control unit 201 of the recording device 130 operates as an internal line processing unit 211. Also, for example, in the process shown in S406, the control unit 201 of the recording device 130 operates as a storage unit 212. For example, in S609, the process shown in Figure 13, and 1502b, the control unit 301 of the detection device 180 operates as an external line processing unit 311.

[0098] Figure 16 illustrates the hardware configuration of a computer 1600 for realizing a recording device 130 and a detection device 180 according to an embodiment. The hardware configuration for realizing the recording device 130 and the detection device 180 in Figure 16 includes, for example, a processor 1601, memory 1602, storage device 1603, communication interface 1606 (e.g., 1606a and 1606b), and input / output interface 1607. The processor 1601 is connected to the memory 1602, storage device 1603, communication interface 1606, and input / output interface 1607 via, for example, a bus 1610.

[0099] The processor 1601 may be a single processor, a multi-processor, or a multi-core processor. The processor 1601 provides some or all of the functions of the above-described parts by executing a program that describes the procedure of the operation flow described above, using the memory 1602. For example, the processor 1601 of the recording device 130 operates as the control unit 201, the internal line processing unit 211, and the storage unit 212 by reading and executing a program stored in the storage device 1603. Also, for example, the processor 1601 of the detection device 180 operates as the control unit 301 and the external line processing unit 311 by reading and executing a program stored in the storage device 1603.

[0100] Memory 1602 is, for example, a semiconductor memory and may include a RAM area and a ROM area. Storage device 1603 is, for example, a semiconductor memory such as a hard disk or flash memory, or an external storage device. RAM is an abbreviation for Random Access Memory, and ROM is an abbreviation for Read Only Memory.

[0101] The storage units 202 and 302 described above include, for example, a memory 1602 and a storage device 1603. For example, the storage device 1603 of the recording device 130 may store information such as extension number information 500, extension number of the call, external line information, and recording data. Also, for example, the storage device 1603 of the detection device 180 may store information such as call channel information 800 and chunk hash information 1400. It is preferable that the recording device 130 has a storage device 1603 because it accumulates call recording data. On the other hand, the detection device 180 does not need to accumulate call recording data, and in one embodiment, it does not need to include a storage device 1603.

[0102] The communication interface 1606 transmits and receives data with other devices according to instructions from the processor 1601. The communication interface 1606a may be, for example, an interface for connecting to hub 122 or hub 152. The communication interface 1606b may be used for communication between the detection device 180 and the recording device 130. In one embodiment, the communication interface 1606b may not be included. Even in this case, feature information and external line information can be notified, for example, by generating a DTMF (Dual-Tone Multi-Frequency) representing the feature information and external line information and including it in the voice data of the RTP packet.

[0103] The input / output interface 1607 may be, for example, an interface between an input device and an output device. The input device is, for example, a device such as a keyboard or mouse that receives instructions from a user. The output device is, for example, a display device such as a display and an audio device such as a speaker.

[0104] Each program according to the embodiment is provided to the recording device 130 and the detection device 180 in the following form, for example. (1) It is pre-installed on the storage device 1603. (2) Provided from a server such as a program server.

[0105] The hardware configuration of the computer 1600 for realizing the recording device 130 and detection device 180 described with reference to Figure 16 is illustrative, and the embodiment is not limited thereto. For example, some of the above-mentioned functional parts may be replaced or deleted, or new components may be added. In another embodiment, for example, some or all of the above-mentioned functions may be implemented as hardware such as an FPGA and SoC. FPGA is an abbreviation for Field Programmable Gate Array. SoC is an abbreviation for System-on-a-chip.

[0106] Several embodiments have been described above. However, the embodiments are not limited to those described above, but should be understood to encompass various variations and alternative forms of the embodiments described above. For example, it will be understood that various embodiments can be materialized by modifying the components without departing from their spirit and scope. It will also be understood that various embodiments can be implemented by appropriately combining the multiple components disclosed in the embodiments described above. Furthermore, it will be understood by those skilled in the art that various embodiments can be implemented by deleting or replacing some components from all the components shown in the embodiments, or by adding some components to the components shown in the embodiments. [Explanation of Symbols]

[0107] 100: Call recording system 101: Gateway 110: Internal network 111: Extension telephone 120: Private branch exchange 122: Hub 130: Recording device 150: External network 151: Optical network termination device 152: Hub 155: Communication line 160 :IP telephone network 170: External telephone 180: Detection device 201: Control Unit 202: Storage section 203: Communications Department 211: Internal Telephone Processing Unit 212: Preservation Department 301: Control Unit 302: Storage section 303: Communications Department 311: External Line Processing Unit 1600: Computer 1601: Processor 1602: Memory 1603 :Storage device 1606: Communication Interface 1607: Input / Output Interface 1610: Bus

Claims

1. An external line processing unit that collects packets of a first session flowing through an external network to which an external telephone is connected, processes the voice data of the call obtained using a predetermined algorithm, and generates first characteristic information. An extension processing unit that collects packets of a second session flowing through the local extension network to which extension telephones and private branch exchanges are connected, processes the voice data of the call obtained using the predetermined algorithm, and generates second characteristic information. When the first characteristic information and the second characteristic information match under predetermined conditions, a storage unit stores in the storage unit recorded data that associates the telephone number of the other station obtained from the call control packet of the first session and the extension number obtained based on the call control packet of the second session with the voice data of the call transmitted in the first session or the second session. A call recording system, including a call recording system.

2. The call recording system according to claim 1, wherein the recorded data is further associated with the local telephone number obtained from the call control packet of the first session.

3. The external line processing unit collects packets of the first session and extracts a plurality of voice data sets with different starting positions from the voice data of the call, and generates the first characteristic information from each of the plurality of voice data sets. The call recording system according to claim 1 or 2, wherein the storage unit stores the recorded data in the storage unit when any of the first characteristic information generated from each of the plurality of voice data and the second characteristic information match under predetermined conditions.

4. The external line processing unit transmits the first characteristic information to the internal line processing unit, The internal line processing unit determines whether the first characteristic information and the second characteristic information received from the external line processing unit satisfy the predetermined conditions. A call recording system according to claim 1 or claim 2.

5. Packets of a first session flowing through the external network to which an external telephone is connected are collected, and the resulting voice data of the call is processed using a predetermined algorithm to generate first characteristic information. Packets of a second session flowing through the local extension network to which extension telephones and private branch exchanges are connected are collected, and the resulting voice data of the call is processed using the predetermined algorithm to generate second characteristic information. If the first characteristic information and the second characteristic information match under predetermined conditions, the telephone number of the other station obtained from the call control packet of the first session and the extension number obtained based on the call control packet of the second session are associated with the voice data of the call transmitted in the first or second session and stored in a storage device. A method for recording phone calls, including the following.

Citation Information

Patent Citations

  • Telephone system for processing voice recognition during speech and exchange and terminal using this system

    JP2001094665A

  • Voice storage device for exchange and method for voice storage

    JP2002176502A

  • Call recording device

    JP2004328277A

  • Speech recording apparatus and speech recording system

    JP2011147007A

  • Voice retrieval device, voice retrieval method and program

    JP2017026792A