Patent Publication Number: US-8532093-B2

Title: Voice over internet protocol marker insertion

Description:
RELATED APPLICATION 
     This application is a continuation of U.S. patent application Ser. No. 11/864,117, filed Sep. 28, 2007, which is incorporated herein by reference. 
    
    
     BACKGROUND 
     The disclosure generally pertains to watermarking voice packets in a Voice-over-IP (“VoIP”) environment for various purposes, including measuring delay of information transfer in a communications network and providing audible information, including informational tones and announcements. 
     In various telecommunications applications, such as calls involving operator services, it is desirable to manipulate speech flows in various ways, for various purposes, including measuring delays between certain speech related events. Measuring speech delay is an important aspect of engineering a voice network, as excessive delay can lead to customer frustration and to a perception of poor customer service by the caller. For calls involving traditional circuit switched technology (referred to herein as “PSTN”), measuring such delay is well established for various applications, but such techniques are not readily transferable to a VoIP environment, which uses a fundamentally different underlying technology. Thus, there is a need for a simplified and easy to use system and method for measuring delay for voice-based calls involving VoIP calls involving a caller and an agent, including where the caller is associated with traditional circuit switched technologies. 
     Further, in VoIP environments, various audible information is required to be inserted at different times, associated with the provision of certain operator services. For example, calls received by agents may require an indication that a caller is now available on-line. This indication can be provided by inserting a brief audible informational tone to the agent. The use of traditional circuit switched technologies for providing such information tones and announcement is not readily transferable to a VoIP environment. Thus, there is a need for a simplified and easy to use system for inserting audible markers for voice based calls involving VoIP technologies. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S) 
       Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and which illustrate various embodiments of the invention, wherein: 
         FIG. 1  illustrates one embodiment of the context of watermarking a VoIP packet streams in an environment for a telecommunications service; 
         FIG. 2  illustrates a logical depiction of one embodiment for watermarking a speech packet stream in a VoIP environment for a telecommunications service; 
         FIG. 3  illustrates one embodiment of the process for watermarking a speech packet stream in a VoIP environment in a VoIP environment; 
         FIG. 4  illustrates one embodiment for various VoIP speech packets which are watermarked; and 
         FIG. 5  illustrates one embodiment for measuring delay associated with a directory assistance call in a VoIP environment. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the inventions are shown. Indeed, these inventions may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout. 
     Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation. 
     In telecommunications environments, it is desirable to be able to measure the delay of transferring information from an input point where information is provided at a first point, to where information (or a response thereto) is played out at a destination point. For traditional circuit switched networks, various mechanisms have been created and are known for measuring delay, including speech delay. In speech networks, voice delay is an important parameter for various reasons. One such reason is that human factors studies have shown that people will tolerate a certain maximum delay with speech. After a certain time threshold, the delay becomes distracting and irritating. While many data applications can tolerate some delay, human interaction involving speech is fairly sensitive to delays over 250-350 milliseconds, and 500 or more milliseconds is very noticeable. Further, in some applications, such as when a caller desires to interact with an agent (e.g., an operator), excessive delay can reduce the operator&#39;s efficiency and lead to a poorer perception of customer service by the caller. 
     Thus, it is desirable to know the delay for information transfer, particularly speech, in a communications network. Knowing the delay allows engineering personnel to adjust the network to provide optimum service to callers. In order to do so, it is necessary to first quantify the delay, by measuring its value. 
     In addition, it is also desirable at certain times in telecommunications networks to overwrite audible sounds present on a speech connection, by inserting either informational tones or sounds characterized as ‘beeps’ or such. In some embodiments, these sounds are used to indicate certain information to the caller, such as a prompt, or that the conversation is being recorded. 
     In other embodiments, the informational tone may be provided to an agent or operator, who is participating on the call in order to provide the requested operator service. For example, in some embodiments, a certain tone may be provided to an agent indicating that a caller is now connected. This is required because in many modern digital environments, operators or agents are not always on-line during all phases of a call. Specifically, the operator is not on-line when the call is initially answered or dialed. Thus, the operator does not hear the phases of a call comprising ringing, followed by an answer (which is often detected by a clicking sound). Rather, many modern call handling systems will automatically answer (or dial) calls, and connect an available operator with a caller. Because of the nature of these digital systems, there is no “click” indicating when a caller is connected. This could lead to the undesirable, and unproductive situation, where the caller and the agent are both connected to each other, but do not know it. Because of the silence, the parties may be waiting, or alternatively, the agent may be asking questions when the caller is not yet connected. This would lead to the caller hearing a clipped sentence, or the caller hearing a long silence before the operator begins talking. Thus, providing informational tones of various types, can indicate to the agent when a caller is available or the nature of their call. Typically, these information signals are provided only to one party (e.g., the operator), so that the other party does not hear them. 
     In other embodiments, it is also desirable to overwrite or insert sounds indicating an announcement of some sort. In many telecommunications services, a greeting announcement is provided to the caller. For example, in dialing certain information services, an announcement will welcome the caller to the service provider&#39;s information service. These announcements are not provided by a live agent, but are prerecorded. In some embodiments, only the caller hears the announcements whereas in other embodiments, the caller and agent may hear them. For example, in providing directory assistance, it is common to provide an introductory greeting followed by a prompt to the caller to say the desired city and state associated with the listing that is being requested. Requiring a directory assistance operator to repeatedly state the greeting and the prompt is taxing on the operator, and thus these announcements are usually provided by automated systems. 
     For communication networks involving voice over IP (“VoIP”), the traditional methods of voice measurement as well as the methods of providing announcements or informational tones are not always readily transferable or applicable. VoIP involves the packetization of digitized voice data, and certain requirements are imposed on equipment in processing the packets, based on the function performed. For equipment that receives an analog voice signal, the analog signals must be converted to digitized speech, according to a defined procedure. Typically, speech is converted from analog to digital form using one of various well known standards, such as μ-law encoding. Additional processes or equipment will then process the digital speech samples to packetize them into a structured protocol frame or data unit. Such well known structures include ATM or IP, although other forms are possible. These packets may then be streamed out, using for example, the Real Time Protocol (“RTP”) standard for speech. 
     Typically, VoIP processing involves receiving the speech data in a buffer, collecting the data until a packet can be formed, and then transmitting the packet out on an output port. Each of these steps requires a definite amount of time, although typically this is measured in the range of milli-seconds ( 1/1000 of a second). The time that is required to receive the minimum number of speech bits on an input port and the time that is required to transmit them on an output port are a function of the transmission speeds for the input and output port respectively. Consequently, the transmit time delay is determined by the transmission medium, while the time that is required to packetize the speech is dependent on various factors, including the processor speed, load, buffer sizes, and the algorithms used. The processing speed can vary from vendor to vendor, and from equipment type to equipment type. Other aspects contributing to delay are involved. 
     Because of the fundamental nature of VoIP technology, the existence of delay can be more likely and more problematic in analyzing than in circuit switched technology. Specifically, circuit switched technology by its nature typically provides minimal transit delay once a circuit is established. On the other hand, VoIP technology can be sensitive to the instantaneous processing load, buffer utilization, and other factors that can effect various types of equipment differently in the network. 
     When ascertaining the overall delay, it is often the case that the delay of signal transfer between two points (whether it be in analog, digital (non-packetized) or packetized form) is well known in some cases or for some equipment (particularly circuit switched equipment), and not known for other cases or other equipment. However, if the overall delay is known, and certain sources of delay can be readily estimated or are otherwise measured, allowing determination of the delay due to the other elements. In this manner, it is possible to break down the problem of ascertaining the delay into smaller subsets, allowing the contributing delay to be determined for various types of equipment. Once the delay in known for each contributing processes or equipment, then appropriate engineering operations can be performed. These operations can involve creating a larger memory space, redefining certain processing priorities, or otherwise altering resource allocations in order to minimize delay where required. 
     One environment in which it is desirable to measure delay or provide informational tones/announcements is shown in  FIG. 1 . In  FIG. 1 , a communications environment is shown for providing various operator services. Operator services typically involve various specialized telephone company services that are provided to callers, which traditionally involve a human operator or agent. Although the present invention will be discussed in the context of directory assistance (“DA”), it can be used for other services, such as reverse charging, third party billing as well as other applications. 
     In exemplary embodiments of the present invention involved with providing DA service, a caller may request information regarding the telephone number of a person. The request can be implicit in dialing a dedicated number (such as “411” or “555-1212”). Typically, an automated system prompts the caller to enter a city and state, as well as the party&#39;s name, which provides a context for accessing a database (since many DA service providers furnish this information on a national basis). In various embodiments, the operator may or may not hear the prompt played to the caller. During this time, an operator is connected to the call to hear the caller&#39;s response. Once the operator hears the response, the operator can look up the desired telephone number, and connect the caller to an announcement machine which provides an automated announcement of the desired telephone number to the caller. The exact details of how the DA service can reflect various alternative embodiments of the invention that will be described in the context of interacting with an agent. 
     Turning to  FIG. 1 , a typically scenario involves a caller (not shown) located at a telephone  100 , and connected via telephone facilities  102  to a carrier  104 . The caller has placed a call to directory assistance using a defined telephone number associated with the service—e.g., such as “411” or “555-1212. Although  FIG. 1  depicts a wireline-based caller, other embodiments may provide the service to wireless callers. Thus, a variety of service providers  104  (wireline or wireless) may contract to receive various operator services from an operator services provider  116 . The operator services provider  116  in this example comprises the VoIP network  108  and the operator station  112 . Other operator services providers may have other architectures. 
     The carrier  104  is shown in this embodiment as a circuit switched based provider, but other type of technologies may be used. Traditional circuit switched facilities still predominate in providing wireline services, and many service providers will contract out the provision of operator services, to third parties, particularly directory assistance. Other embodiments of the carrier  104  may also involve the use of VoIP facilities in whole or in part. 
     In this embodiment, the operator service provider  116  is partially or wholly utilizing VoIP technology. The VoIP technology is illustrated as involving a VoIP network  108 , although it can be a mix of traditional circuit switched (digital or analog, or both) and VoIP technologies. In this embodiment, for sake of illustration, a homogenous VoIP environment  108  is shown. At a certain point  114 , the speech being transferred from a non-VoIP network is converted into a packetized stream versus a non-packetized stream. In  FIG. 1 , the non-packetizing stream is associated with network  104  and the packetized stream is associated with network  108 . The equipment performing this function is not shown in  FIG. 1 , but is often referred to as a gateway, and could be located in either network. 
     In the embodiment shown in  FIG. 1 , the VoIP network  108  can also used to provide telephone service (e.g., the operator services provider  116  can also be a telephony services provider). Thus, a caller could also originate the call for the operator service using a computer  120 . In this case, the computer  120  is connected via headset  122  or other microphone/speaker arrangement, allowing the caller to make/receive telephone calls using a “VoIP” phone service. In this case, no gateway function in the network  108  is required. In essence, the gateway functionality of converting speech into VoIP packets is performed in the computer  120 . As can be imagined, various other possible forms of interconnection are possible in which a VoIP call is received at the workstation  112 . 
     An operator station  112  is shown that is connected to the VoIP facilities  108 , typically using a LAN or other means of data connection  110 . The workstation typically is based on a personal computer, or other commercially available processor-based workstation. Typically, the workstations comprise computers programmed for the specific application at hand. Thus, in some respects, the workstations  112  are similar to computer  120 . It is presumed that the workstation  112  has an IP interface over the data connection  110  and is capable of processing VoIP packets, and has the appropriate means for providing audible signals and receiving sounds from the operator. The audible sound generation is typically accomplished using a headset or other speaker arrangement, including devices known as ‘ear-pieces’, ear-buds, headphones, headset, or other variations. The workstation also includes means for receiving speech from an operator, usually in the form of a microphone of some sort, which produces a signal which is then digitized and packetized. Quite often, the microphone and speaker are integrated into a headset, which is connected via a cord to the workstation. 
     Also shown in  FIG. 1  is an automated voice response system  125 , which may be used in the some embodiment to provide an initial announcement to the caller. This may be the initial greeting message, as well as the prompt to the caller, asking for which city and state the caller is requesting (e.g., the context). Typically, a switching device (which can be centralized) connects the voice response system  125 , the workstation  112 , and the caller in the network  108 . In other embodiments, it is preferable that the announcements be provided by the workstation  112 . 
     As discussed previously, when the operator workstation  112  in  FIG. 1  is connected to a caller, there may be an absence of a noticeable click that the operator can use to determine that a caller is on line. While it is possible that a message may be displayed on the screen indicating a new caller is connected, this requires the operator to continually monitor the screen, which may be undesirable or difficult. Thus, an audible prompt indicating that a caller is now connected may be desirable. 
     The diagram shown in  FIG. 2  can also be used to insert informational tones. Further, as will be seen, the basic arrangement shown in  FIG. 2  can also be used to provide a greeting or announcement. When providing an informational tone (or announcement), the tone typically overwrites a brief section of the speech, or precedes the speech. The tone can be used to prompt or inform the agent that a caller is connected and is about to speaking, or is speaking. In this context, the direction of information flow is fundamentally being transmitted from a caller to an agent. 
     In  FIG. 2 , a workstation  200  is typically embodied in a computer or workstation adapted via software to provide directory assistance functions for an agent (not shown). Although the workstation comprises various well known components, including processor, memory, disk drives, monitors, etc., not all of these are shown in  FIG. 2  (except for the processor). In  FIG. 2 , the workstations  200  comprises various functional processes and components, which are combined in the figure for convenience of illustration, and do not reflect the actual physical or logical embodiments. It is possible that the present embodiment may be altered and accomplished using one or more various processors operating in coordination or a plurality of software modules performing the various identified functions on a single processor. 
     The workstation  200  includes a processor  206  which can be either the main processor in the workstation, or a dedicated VoIP related processor, such as found in an ‘add-on’ board, which are often available for incorporation into a desktop computer by the owner of the workstation. The processor itself can be any of the well-known commercially available microprocessors. One function of the processor  206  is to receive and process VoIP packets received on an interface  204  from a transmitter source  202 . In this embodiment, the transmitter source ultimately is the caller&#39;s speech that has been packetized by the gateway. As previously discussed, the packetization of speech can occur at different points, but in this example, it is presumed that VoIP packets are presented to the processor. Typically, the interface is a particular TCP/IP address (e.g., socket or otherwise established connection) using a standard VoIP streaming protocol, such as RTP (real time protocol). For most of the speech processing, the processor  206  performs the necessary processing in order to provide the digitized speech stream  210  to an audio renderer  208 . 
     The audio renderer  208  is illustrated in this embodiment as comprising a digital-to-analog converter  212 , which accepts the digital voice signals and generates an analog signal, which then is played via a speaker  214 . Typically, an amplifier is utilized (which is not shown). The particulars of the audio renderer are not disclosed, as it is well known in the art. 
     Consequently, when a caller places a DA call, and provides voice signals for a particular city and state, the packets are generated at the appropriate transmitter source  202 , over to an interface  204  to a processor  206 , which then generates the appropriate digitized data stream  210  to the audio renderer  208 , causing the agent to hear the caller&#39;s speech. At certain times, an indication is provided to the operator workstation indicating that a call is present, just prior to the caller&#39;s response. This indication is shown as control message  220  and results in the informational tone to be provided. 
     The control message  220  is provided as input to the workstation  200 , and can be a proprietary protocol format, which the workstation is programmed to recognize. Consequently, the exact message format or syntax can be varied. It is generated by another system (not shown) that coordinates the distribution of DA calls to available agents. Typically, the control message is sent to a pre-established TCP/IP socket of a workstation of the corresponding selected agent. The TCP/IP socket is defined as for use in communicating such control messages. 
     The workstation has a process called “marker trigger control”  222  which parses the message, and determines that the processor is to be informed regarding the insertion of a watermark or marker. 
     The processor  206 , which is executing a packet processing application (which is inherent in the depiction of the processor  206  in this embodiment and not shown as a separate process), receives the control message and invokes an overlay marker packet insertion procedure  230 . In practice, this process  230  is a separate application or process executed on the processor  206 , but is shown in  FIG. 2  as a separate process because it is different from the main packet processing application. In other embodiments, the overlay marker packet insertion process could execute on a separate processor, or via dedicated hardware along with other functionality shown in box  228 . 
     During the time when the insert marker command  224  indicates a marker should be inserted, there maybe incoming packets to the processor  206 . In one embodiment, these packets simply overrun the buffer in the processor so that these incoming packets are ‘dropped.’ In other embodiments, the processor may buffer the incoming packets while the informational tone is being provided. In still another embodiment, the packets may be redirected along path  227  to the insertion process  230 , which would buffer or discard the incoming voice packets. 
     The overlay marker packet insertion process  230  will insert packets corresponding to a certain informational tone. If there is only one tone, there is no need for the processor to indicate which tone to play. If there are various types of informational tone, then the processor will have to indicate which tone to select. These tones are represented by certain digital patterns which are stored in memory (not shown), which are packetized as appropriate. 
     Based on the embodiment, the tone packets may have to be transcoded. Transcoding refers to the process of coding from one digitized speech protocol or standard to another. The process is optional, and is shown in  FIG. 2  for purposes of illustration. In one embodiment, the insertion of informational tone packets from the overlay marker packet insertion process  230  may result in the generation of μ-law encoded speech packets, whereas the workstation is configured to playing out speech in a different format (such as MPEG compressed speech format). In another example, the workstation may be able play out μ-law encoded speech packets, but transcodes the speech packets into MPEG for storage purposes (because the MPEG format requires less storage space, but requires more processing to compress the data). Thus, the transcoder  232  would transcode the μ-law encoded speech packets to the MPEG format if this required. 
     Once the audible packets are transcoded, the data signals are sent on path  233  to the audio renderer  208  for generation of an audible signal, which the agent then hears. In this embodiment, the trigger control  222  directs the processor  206  to provide the informational tone as long as the insert marker command  224  indicates such should be provided. Typically, the duration will be less than a second or two, which is sufficient for the agent to hear the tone and act accordingly. Once the trigger control  222  turns off the insert marker command, the voice packets  204  received by the processor  206  are processed as normal, and are sent as data over path  210  to the audio renderer. If there are no incoming speech packets at the processor, the processor would generate the appropriate data stream  210  to the audio renderer indicating silence. 
     A corresponding flow chart for this process is shown in  FIG. 3 . The process begins at step  300  when the processor  206  receives a speech packet. In this case, it is presumed that a speech packet in proper VoIP form is received at the processor. The processor first determines whether the marker control is “on” indicating whether the informational tone should be applied in step  302 . If the result is “no”, then the speech packet is sent to the audio renderer in step  312  for generating an audible speech signal as normal. 
     If however, the processor receives a marker insertion control signal, then step  304  occurs and the speech packet is discarded, which involves merely letting the input buffer be overwritten, effectively discarding the contents of the packet. In other embodiments, the packet may be forward to the marker insertion process where that process then discards the packet as necessary. At this point, the appropriate informational tone data is retrieved. 
     The next step occurs at step  306  where the informational tone data is transcoded if necessary. If so, then the appropriate conversion to the appropriate digital speech standard occurs. If no transcoding is required, then this step can be skipped. 
     The next step  308  is also optional and is shown as it may be present in other embodiments. As noted, it may be desirable to store the speech data (including the informational tone) in a file store. If so, this step may occur at this stage. More will be discussed regarding storage of the speech stream, as it impacts other aspects of the system operation. 
     The next step  310 , involves transmitting the informational tone to the audio renderer, where the informational tone is played out to the agent. In some embodiments, the informational tone could actually be a ‘whisper’, which is a spoken word, prompting the agent with information about the caller. In various embodiments, the prompt could inform the agent that the caller is a customer with a certain characteristic, such as having a past due balance, a high valued customer, or a customer seeking a specific type of information, e.g., “sales” or “service.” 
     The process then returns to step  300 , where it repeats. If the indication that the tone is to be provided, then the incoming speech packets continue to be discarded and the tone is applied until the mark control signal is “off” in step  302 . In this embodiment, the command signals acts as a gating function—e.g., when on, the informational tone is provided and when off, the informational tone is not provided. In other embodiments, the indication of the marker control may be a ‘one-shot’ signal which prompts the processor to provide a fixed tone for a defined duration. Thus, the marker control can be on for a short time, e.g., 10 ms, which causes a 750 ms tone to be generated. 
     In the exemplary embodiments discussed above, the markers inserted were of an audible nature. Specifically, they were intended to be heard by a human operator. They typically replace any contemporaneous speech input packets, and are played out to the agent to provide information about the call. 
     In certain embodiments, the speech information maybe desired to be recorded. Often, the recording involves storing more than just the informational tone itself, but also the subsequent speech from the caller. This can be accomplished with a slight modification to the operation of the embodiment disclosed in  FIG. 2 . Turning back to  FIG. 2 , the control message may not only indicate that a control message  220  should be inserted, but that the ensuing speech should be stored in a file as well. The marker trigger control command  224  essentially indicates to the processor to start/stop recording. The “start” recording indication also functions to indicate insertion of the informational tone of a fixed duration. This could be accomplished using a single message with various parameters, or different messages. 
     In  FIG. 2 , the processor  206  would invoke the overlay marker packet insertion as indicated before. The informational tone would be inserted by the overlay marker packet insertion process for a defined time period. Once this time period is over, the processor would forward the incoming speech packets to the overlay marker process, which would forward the packets to the transcoder  232 , which would transcode the packets if necessary, and provide a copy of the packets to a connection  235  to a file system store  234 . Note that this is in distinction compared to the prior process, where the processor resumed sending voice packets over path  210  to the audio renderer, after the informational tone was provided. In this embodiment, the processor directs the voice packets over path  227  until the control signal directs otherwise. 
     Once the packets are received by the file store, the packets are stored. Further, either the transcoder (or the file store  234 ) could provide a copy of the same packets to the audio renderer  208 . In another embodiment, the transcoder may provide uncoded packets to the audio renderer for play out, and transcode the packets to compress them for storage. In this manner, the file system is storing the packets beginning with the informational tone and the subsequent speech packets, until a control message indicates that recording the speech packets is no longer to occur. In this manner, complete samples of the informational tone and subsequent speech are recorded for subsequent analysis in the file system. 
     It is evidence that variations of this process are possible. For example, the processor  206  previously discarded incoming packets while the informational tone was inserted. In one variation, the processor merely forward the voice packets to the overlay marker packet insertion process  230 . The overlay marker packet insertion process has a buffer, and discards the speech packets as the informational tone is inserted, and automatically causes the transcoding and storage in the file store. The dotted line  228  indicates that the process of the overlay marker packet insertion process, the transcoder, and file store could be implemented on a separate workstation. The transfer of the packets (and control information if required) would occur over a connection  227 , using a LAN or other high speed communication facility. In this manner, a central file store and transcoding facility could be used for a number of workstations. 
     This process is illustrated further in  FIG. 4 . In  FIG. 4 , packets  400   a - 414   a  illustrate incoming packets to the processor  206  ( FIG. 2 ). There is some minimal processing time delay shown as t=x  401  associated with the packets being processed. At t=y  403 , the processor receives an indication to insert an audible marker, representing an informational tone or announcement. 
     Note that speech packet  402   a  was replaced with the marker packet  416   a  when the speech is forwarded to the audio renderer. Although this embodiment shows only one speech packet being replaced, other embodiments will replace several packets in a row. The impact to the agent&#39;s auditory experience is negligible, typically. 
     Further, a copy of the packets, beginning with the marker packet  416   a  are copied and sent to the file store. Thus, a copy of packet  416   b  is made (shown as  416   c ) and sent for recording in the file store. It is possible that the packets stored in the file store are first transcoded for compression, while those played out are not transcoded. At some later time (not shown) corresponding to the end of packet  410   b , a control message is sent indicating that recording is to be stopped, and no further packets after  410   c  are recorded in the file store. 
     Consequently, the above scheme provides an easy way to audibly watermark a speech stream so that it can be easily identified and processed. For example, the recorded speech stream  420  is easily audibly identifiable using the beginning marker  416   c  as identifying the beginning of the speech segment and the remaining voice packets indicate the subsequent speech. Assuming a plurality of such speech streams are record, the next marker can delineate the end of the first stream. In this manner, various subsets of speech streams from a caller interacting with an agent can be recorded for security or work evaluation reasons. This can facilitate human comprehension on playback, as the audible marker provides a reference point for human comprehension with respect to the following speech. In essence, upon playback, the marker functions as a guidepost for the listener to begin paying attention, as the following speech represents the same audible signals are heard by the agent. 
     The above discussion focuses on examples of audible marker insertions or audibly watermarked. Typically, a portion of a digitized speech stream is replaced with a digital representation of an audible sound that is intended to be heard by an agent. The sound is designed to prompt the agent, or function as a listening ‘guidepost’ to facilitate the listening of the agent. 
     However, there are other applications in which watermarking of a speech stream is designed to facilitate ‘listening’ by a computer rather than a human (e.g., agent). In these applications, the purpose is to use the watermark to signal a starting point for measuring delay by a computer, or more specifically, by an application designed to measure delay. In such applications, the insertion of an audible tone would be difficult for an application to detect. This would require a speech recognition algorithm to detect the audible informational tone, which would present additional complexity. Thus, in such situations, a ‘visual’ marker would be used. 
     A visual marker is called such to distinguish it from an audible marker. It is not presently intended to be viewed per se, but represents a marker which is designed primarily to be detected by an automated process. The term ‘visual’ was originally coined since equipment (such as an oscilloscope) was used which displayed a waveform corresponding to the sounds conveyed by speech packets. The ‘visual’ marker when inserted, presents a “flat line” on the display, which was readily visible and distinguishable by human observation. Thus, the primary means of detecting the presence of the marker was not audible, but visual. However, many applications do not rely on service personnel using equipment for analyzing the marker, but rather rely on software programs that can easily detect an unexpected speech pattern (e.g., such as when all the digits in a voice stream are a digital “1”). Such an audible tone would normally not exist, and typically would not be distinguishable by a human even if it were reproduced into a sound. Thus, in summary, a visual marker is a watermark that is designed to be easily detected by software applications, and which is not intended to rely on a speech recognition process for detecting the watermark. 
     The visual marker can be used to measure delay, such as in the context of a directory assistance call. In a directory assistance call, the caller will hear a greeting, and then a voice prompt to enter the names of the city and state for which they are requesting information. Although the operator is connected to the caller at this point, the operator does not provide the greeting nor the prompt. Because of the repetitious nature of the prompt (e.g., “city and state, please”), automated voice prompts are used rather than having an operator repeat the prompt hundreds of times a day. The operator then waits for the caller to respond with the city and state. 
     During this time, there is a delay, which broken down in to roughly three time periods. First, there is the time delay associated with the announcement being played out, transmitted to the caller&#39;s telephone, and audibly played out. Second, the caller hearing the announcement, must formulate and state a response. Third, the caller&#39;s response must be transmitted from the caller&#39;s telephone to the agent&#39;s workstation. As noted in  FIG. 1 , the caller is often, though not required, to be connected to the PSTN. 
     Frequently, is it desirable to measure the overall delay, to obtain overall statistics on the delay and measure the performance of the network components, and the operators. Typically, the overall delay is measured, and the times for the various sub-portions can be estimated or derived. One embodiment of the present invention to measure delay is shown in  FIG. 5 . 
     Turning to  FIG. 5 , the workstation  200  in this embodiment comprises the processor  206 , the marker trigger control  222 , the overlay marker packet insertion process  230 , and the audio renderer  208  as discussed before. In this case, workstation also comprises an announcement source  524 , which is a store of voice data representing the greeting and the prompt to the caller to enter the city and state. 
     In addition, there is a measurement entity  500 , which measures the overall delay from the ending of the voice prompt to the time the caller responds. This is accomplished via a detector which detects the overlay marker packet  510  and a speech energy detector  502 . These are used to start and stop a timer  504 , which measures the desired duration. 
     The process is now described using  FIG. 5 . It is presumed that a caller from the PSTN has established a directory assistance call with the workstation. The workstation  200  will generate the greeting and the announcement using the announcement source  524 . The voice data is sent over a connection  204  to the processor  206 , which send the packets over path  513  which bypasses the overlay marker packet insertion process  230 . The voice packets are sent on path  235  to the overlay marker packet detector  510 , which monitors the packets for a visual marker. Essentially, the packets pass through the detector  510  with minimal delay to path  508 , which plays the announcements to the caller. 
     When the announcement source plays the prompt message, a control message  220  is sent to the marker trigger control  222  to instruct that a visual marker packet should be inserted. This causes the insert marker command  224  to be sent to the processor  206 . The insertion of the marker can occur at various points, depending on the delay to be measured. If the delay to be measured is from the beginning of the voice prompt, then the marker command is generated when the voice prompt is first sent from the announcement source  524  to the processor  206 . If the delay to be measured is from the end of the voice prompt, then the marker command should be generated upon the completion of the voice prompt. As noted, the inclusion of a visual marker does not impact the audible nature of the announcement, so that it can be inserted at various locations without impacting the caller&#39;s audible experience. 
     In this embodiment, the marker is inserted just after the greeting and voice prompt are played. Upon receiving the insert marker command  224 , the processor  206  will discard and substitute the voice packet with a marker packet. Because in this embodiment the marker is appended to the end of the prompt, there will not be any incoming packet to discard. Of course, if the control message  220  to the processor  206  is sent before the last voice packet is sent to the processor, then that last voice packet would be discarded. Alternatively, that last voice packet will be sent over path  227  to the overlay marker packet insertion process where it will be substituted with the visual marker. (In various embodiments, the incoming speech packet may be discarded in the processor, or in the overlay marker packet insertion process). The result is that the visual marker packet is sent from the overlay marker packet insertion process  230  over path  235 . 
     The overlay marker packet detector  510  will detect the visual marker, which can be accomplished by matching the bit pattern of the payload. The detector  510  will send a signal  520  to the timer  504 , indicating that a start of delay duration should be measured based on the detection of the marker. The marker packet is then forwarded by the detector over path  508  to the PSTN, and ultimately to the caller. In other embodiments, the detector may discard or record the visual marker packet. 
     After the caller hears the voice prompt, and responds appropriately, the response voice signals are received over path  506  at the speech energy detector  502 . The speech energy detector detects the caller&#39;s speech, and is able to distinguish between this from other spurious background noise. Once speech is detected, the detector  502  sends a signal  522  to the timer, effectively indicating the end of the duration to be measured. The timer may also record other information, such as the time of day, agent position, etc. which facilitates various uses of the delay measurements. 
     The detector  502  passes the voice data to the processor over path  512 , which then forwards the voice data of the caller over path  210  to the audio render, where the callers&#39; speech is audibly played out to the agent. 
     This application of the invention can be implemented in various embodiments. In one embodiment, the delay timer function  500  is incorporated into the workstation. In other embodiments, the announcement source  524  can be external to the workstation. Various other configurations for implementing the processes can be defined. In still other embodiments, the speech packets may be recorded to memory with time stamp information for subsequent analysis of the duration. 
     As illustrated above, the watermark inserted is a visual type that can be used to mark a voice stream so as to delineate a point from which a delay measurement can be taken. The insertion of an audible watermark can be used to mark a voice stream so as to provide informational tones or insert or provide announcement information. 
     In some embodiments, the various combinations of the embodiments described above can coexist and be combined. For example, in one embodiments for providing directory assistance, the caller receives the initial greeting from using the principles of the present invention using an the announcement store in a workstation, which provides an audible watermark. Then, an inaudible watermark is used to measure delay associated with the caller. 
     It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.