Different voice messages dependent on the callers country(without IVR)?

You don’t need separate IVR’s, you just need to set the channels’ language as appropriate.

You need a full set of announcements/recordings you added in all of the /var/lib/asterisk/sounds/(LN)/custom directories and of course the base and additional sound files in /var/lib/asterisk/sounds/(LN)

where (LN) is the language, for example one for en-GB, one for fr, one for it, etc. they all need to have the same name, then just set the language for the channel on a custom inbound context

[my-custom-inbound-context]
exten => s/_00133X!,1,Set(CHANNEL(language)=fr)
exten => s/_00133X!,n,Goto(from-pstn,${EXTEN},1)
exten => s/_00144X!,1,Set(CHANNEL(language)=en-GB)
exten => s/_00144X!,n,Goto(from-pstn,${EXTEN},1)
exten => s,1,Goto(from-pstn,${EXTEN},1)

Add lines as appropriate. This should work in general for most anything in Asterisk , voicemail prompts, system announcements, etc.

Edit:-

I reread your original post, sorry but there is no real way to do that for comedian mail which is the asterisk voicemail subsystem, at least not in the dialplan, it gets it’s variables from flat-files and there is no way to “dynamically” change that behavior without patching that file

/etc/asterisk/voicemail.conf

and reloading the voicemail subsystem, that suggests an AGI solution as a likely solution as it enters the voicemail app and set the ${VMCONTEXT}, to one of several versions of the extensions voicemail box in a multilingual manner, but that isn’t trivial or pretty :slight_smile: