Muy sencillo,
Ejecuto esta instrucción para traerme una página de Internet
$page = get('http://espanol.weather.com/weather/local/SPXX0045');
Mientras se conecta, descarga y demás ocurre un tiempo que me gustaría ocupar con un MusicOnHold.
He visto soluciones alternativas y que me gustán más, como es programar un CRON que se descargue la página en un archivo y luego basta con leerlo, algo mucho más rápido.
Con esto me encontré un problema y es que cuando hago cualquier acceso a disco desde PERL (open, opendir, ...) me mata el AGI, devolviendo el control al Dialplan :?
Aunque aún sigo en mis trece de solucionar ese MusicOnHold en background. Para este caso en concreto está solucionado, pero que ocurre si accedemos a una BBDD con mucha carga o necesitamos un procedimiento almacenado que tarda tiempo en devolver el control.
Otra solución que pensé y que suena a casi locura (por complicada), es crear un Thread con el MusicOnHold y cuando acabe la petición que se está procesando entonces que mate a ese Thread, ¿Cómo lo ves Rowter? No he podido hacer pruebas porque el Perl que uso no tiene soporte para Threads y tenía que compilar con el CPAN una nueva versión y no era plan para un fin de semana.