Problem: Voicemail work only from internal extension

I have an installation with FreePbx and Asterisk
I have an time condition that send the caller to the voicemail of extension 999 (unused extenson) when the office is closed.

If I simulate an inbound call during the close hours from an internal extension, dialing 7777, I can leave a message to voicemail.

If I call from outside (I have an FXS/FXO card), I can ear the message “please leave your message”, then I can ear the beep, but when I start to leave a message, after few seconds I ear the message "press 1 to record or 2 to play your message).
If I press 1, the user receive the message in the mailbox, but is only 200-300 Byte (not KByte) and it’s empty.
It’s like if asterisk can’t ear my voice.

I can say you that if the user answer me, I can talk normally.

Please help me, because I can’t find which is the problem.