Going in different context after READ()

I have following extentension

exten => Voicemail_en,1,Set(CHANNEL(language)=en)
exten => Voicemail_en,2,WaitExten(1)
exten => Voicemail_en,3,Playback(language_change_press&5)
exten => Voicemail_en,4,Read(DIGIT,,1)
exten => Voicemail_en,5,GotoIf($[${DIGIT}=5]?Voicemail_other,1:6)
exten => Voicemail_en,6,Set(COUNT=${ODBC_EXIST(${CALLERID(num)})})

The scenario here is after user cal I play “To change language press 5”… and waiting on Read() for number. The problem is that if I don’t enter anything and/or I enter different number than 5 the GotoIf doesn’t go to next priority which is 6, herE:

GotoIf($[${DIGIT}=5]?Voicemail_other,1:6)

What I miss here?

If you just want to fall through to the next line you don’t need to have the Fail case on your GotoIf

GotoIf($[ ${DIGIT} = 5 ]?Voicemail_other,1)

Where’s the console output when you try and run your extension?

Voicemail_en and Voicemail_other are two different exten’s. The idea is if this fail: Voicemail_en,5,GotoIf($[${DIGIT}=5]?Voicemail_other,1:6) to go to Voicemail_other which basically is similar but other language if not continue to current exten, 6…

The console output when is false just hang up the call… doesn’t go to other exten.

You need to provide the actual console output.

Also, there is no other extension on the false path of your GotoIf. The obvious interpretation is that it should do the same as not including the false part at all.