Retrieving voicemail

Although I made the necessary changes to extensions.conf and voicemail.cong to record and retrieve voice messages, when I try to retrieve voicemail I get denied at the prompt as my login is invalid- although am pretty sure I set my mailbox number and pass and entered them correctly.
Here’s the extensions.conf:

exten => s,1,Answer
exten => s,n,WaitExten
exten => 1,1,Playback(hello-world)
exten => 2,1,Voicemail(1@mojvoicemail)
exten => 500,1,VoiceMailMain()

And very short entry to voicemail.conf:

1 => 2,Me,root@localhost

Why do I get denied when I enter “1” as the mailbox number and “2” as a password?
Here’s the CLI:

--Executing Answer("Zap/1-1", "") in new stack
--Executing WaitExten("Zap/1-1", "") in new stack
==CDR updated on Zap/1-1
--Executing VoiceMailMain("Zap/1-1", "") in new stack
--Playing 'vm-login' (language 'en')
--Playing 'vm-password' (language 'en')
--Incorrect password '2' for user '1' (context = default)
--Playing 'vm-incorrect-mailbox' (language 'en')
;repeats again for mailbox and pass entry but never accepts what is set to be mailbox number and pasword

What am I doing wrong?

You configured Your voicemail box in context [mojvoicemail] but voicemailmain() is using context [default]
if You specify context voicemailmain(@mojvoicemail), then You will have access to voicemail boxes defined in [mojvoicemail] context

Now that I can retrieve my voicemail, I would like to be able to customize prompts, change which keys to press for navigating through the voicemailbox etc. Which file do I have to edit in order to achieve this?

that would be the source in /usr/src/asterisk/apps/app_voicemail.c

You can customize voice prompts by recording Your own and changing standard one.
baconbuttie alredy wrote where You can try to change key-pressed navigation