Si estás usando Elastix, basta que crees el [macro-dialout-trunk-predial-hook] dentro del extensions_custom.conf y allí puedes invocar lo que quieras antes de que pase la llamada, quedando algo así:
[macro-dialout-trunk-predial-hook]
exten => s,1,Playback(mensaje)
El hook se ejecuta ANTES de hacer la marcación, con lo que puedes modificar el sistema sin tocar el código fuente de FreePBX/Elastix.
Saludos,