Igual te sirve el parámetro L del comando dial...
# L(x[:y][:z]): Limit the call to 'x' ms, warning when 'y' ms are
left, repeated every 'z' ms) Only 'x' is required, 'y' and 'z' are
optional. The following special variables are optional for limit
calls: (pasted from app_dial.c)
* LIMIT_PLAYAUDIO_CALLER - yes|no (default yes) - Play sounds to the caller.
* LIMIT_PLAYAUDIO_CALLEE - yes|no - Play sounds to the callee.
* LIMIT_TIMEOUT_FILE - File to play when time is up.
* LIMIT_CONNECT_FILE - File to play when call begins.
* LIMIT_WARNING_FILE - File to play as warning if 'y' is defined.
If LIMIT_WARNING_FILE is not defined, then the default behaviour is to
announce ("You have [XX minutes] YY seconds").
x=limite de la conversación (si no hay límite, un valor muy grande)
y=Cuando queden "y" milisegundos, reproducir un sonido
z=Y repetir cada "z" milissegundos
Ejemplo
exten => XXX,1,Set(LIMIT_PLAYAUDIO_CALLER=yes)
exten => XXX,n,Set(LIMIT_PLAYAUDIO_CALLEE=yes)
exten => XXX,n,Set(WARNING_FILE=beep)
exten => XXX,n,Dial(SIP/{$EXTEN},L(3600000,3590000,10000)
Límite de 1 hora, cuando quede una hora menos 10 segundos, reproducir
el primer pitido, luego cada 10 segundos.
Un poco rebuscado, pero igual hasta funciona ;)
Julian.
--
http://www.julianmenendez.es