A method of analyzing a voice call comprising a number of scripted subsections, the method performed by a telephony system comprising a call server and comprising: detecting the start of a voice call between a user terminal (104-1) and a customer phone , wherein the user terminal is configured to make and receive VOIP calls; in response to detecting the start of the voice call, starting a section call timer; detecting an end of section keystroke; in response to detecting the end of section keystroke, ending the section call timer; recording the elapsed time between the starting and ending of the section call timer in a memory of a call server; starting a further section call timer in response to a determination that there are further sections to be measured; detecting a further end of section keystroke, wherein the further end of section keystroke acts as a start of section keystroke for a subsequent section; the call server aggregating the measured section time with previously measured section times; the call server comparing the aggregate of the measured section times with a section target time, wherein the section target time is dynamically updated based on an aggregate of measured section times of a subset of users; the call server sending an alert to an administrator terminal when a difference between the aggregate of the measured section times and the section target time is greater than a predetermined threshold; the call server recording a number of different users whose aggregated time for a particular section exceeds the section target time for the particular section by the predetermined threshold; and when the number of different users exceeds a predefined number, the call server sending a second alert to the administrator terminal identifying the particular section. detecting the start of a voice call between a user terminal (104-1) and a customer phone , wherein the user terminal is configured to make and receive VOIP calls; in response to detecting the start of the voice call, starting a section call timer; detecting an end of section keystroke; in response to detecting the end of section keystroke, ending the section call timer; recording the elapsed time between the starting and ending of the section call timer in a memory of a call server; starting a further section call timer in response to a determination that there are further sections to be measured; detecting a further end of section keystroke, wherein the further end of section keystroke acts as a start of section keystroke for a subsequent section; the call server aggregating the measured section time with previously measured section times; the call server comparing the aggregate of the measured section times with a section target time, wherein the section target time is dynamically updated based on an aggregate of measured section times of a subset of users; the call server sending an alert to an administrator terminal when a difference between the aggregate of the measured section times and the section target time is greater than a predetermined threshold; the call server recording a number of different users whose aggregated time for a particular section exceeds the section target time for the particular section by the predetermined threshold; and when the number of different users exceeds a predefined number, the call server sending a second alert to the administrator terminal identifying the particular section. <EOS>