Jorge lo quieres poner más dificil todavía eehhhh 😉
Pos otra idea igual de momento no se me ocurre. Esto voy a pensar un poco en voz alta.
De momento el AGI creo que lo vamos a descartar, ¿Cómo sabemos el tiempo que tus usuarios han tardado en coger el teléfono? pfff el comando de marcado es Dial y esto comprende desde que hace el primer Ring hasta que termina la llamada completa. Entonces parece que AGI failed.
Por otro lado nos queda el Asterisk Manager, esto puede ser solución. Cargamos un demonio que capture eventos del Asterisk Manager y cuando detecte que ocurre un inicio de Dial lo ponemos atento, nos quedamos con el Channel-ID (el identificador de la llamada) y luego nos quedamos atentos al evento que indique que comienza la charla.
¿Cómo nos currelamos este demonio? No te aconsejo que empieces de cero porque no es bueno y ya que tamos hablando de Software Libre seguro que hay algo en lo que nos podemos ayudar.
A ver que te parece esto: http://www.voip-info.org/wiki-AstManProxy. Este proyecto es de David C. Troy, empezó como un pequeño ejercicio en el que sacó un Proxy en Perl del corazón de Flash Operator y ha terminado siendo un Proxy con un código en C de bastante calidad y eficiente.
Saludines,
PD: No se si he conseguido explicarme, por aquí es muy temprano y ando un tanto espeso (no es bueno acostarse tan tarde).