By default, Asterisk always plays its own vm-intro as voicemail intro. To enable the user to record their own message, the entry in extensions.conf which sends a caller to the voicemail should be:

exten => _0123456789,n,Voicemail(1@<context>|s,u)

The s is to skip the default greeting. The u is for the unavailable message. You can also say b for busy message.

‘show application voicemail’ shows usage information and all the options you can give.