Voicemail messages language - how to set

Hi;
I have one extension with language code different than the default language on the PABX this is extension number 1007.

This extension is used as a “dummy extension” used only for collecting voice mail messages.
I want that everybody who leave the message in the mailbox 1007 can hear all additional messages in french language (I have this language installed in the system)

For incoming messages I have built ivr with language option to change the language flow for fr.

i can see in the logs that this function works fine and sets the language as it should be:

“Extension Changed 1001[ext-local] new state InUse for Notify User 809
– Executing [[email protected]:1] NoOp(“SIP/1001-0001b1f4”, “Running miscapp 6: test_fr_voicemail”) in new stack
– Executing [[email protected]:2] Goto(“SIP/1001-0001b1f4”, “app-languages|4|1”) in new stack
– Goto (app-languages,4,1)
– Executing [[email protected]:1] NoOp(“SIP/1001-0001b1f4”, “Changing Channel to language: fr (CS_FR-voicemail)”) in new stack
– Executing [[email protected]:2] Set(“SIP/1001-0001b1f4”, “CHANNEL(language)=fr”) in new stack

– Executing [[email protected]:3] Goto(“SIP/1001-0001b1f4”, “ext-local|vmu1007|1”) in new stack
– Goto (ext-local,vmu1007,1)

but when the call is forwarded to the voicemail the macro [macro-user-callerid]
change the language back to the default value

– Executing [[email protected]:8] Set(“SIP/1001-0001b1f4”, “CALLERID(all)=“SCom Test 1001” <1001>”) in new stack
– Executing [[email protected]:9] ExecIf(“SIP/1001-0001b1f4”, “1|Set|CHANNEL(language)=en”) in new stack
– Executing [[email protected]:10] GotoIf(“SIP/1001-0001b1f4”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,19)
– Executing [[email protected]:19] NoOp(“SIP/1001-0001b1f4”, “Using CallerID “SCom Test 1001” <1001>”) in new stack
– Executing [[email protected]:2] Set(“SIP/1001-0001b1f4”, “VMGAIN=”"") in new stack
– Executing [[email protected]:3] GotoIf(“SIP/1001-0001b1f4”, “1?vmx|1”) in new stack

The code line which do this looks like this:
(from extension_additional.conf [macro-user-callerid]

exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/language)}" != “”],Set,CHANNEL(language)=${DB(AMPUSER/${AMPUSER}/language)})

is it possible to add an additional condition in this line to stay with preciously changed language without changing it.

My idea is to add something like this (it is only work-around for 1007):

exten => s,n,ExecIf(($["${DB(AMPUSER/${AMPUSER}/language)}" != “”) && (${CALLERID(dnid)}" !=“1007”))],Set,CHANNEL(language)=${DB(AMPUSER/${AMPUSER}/language)})

is this code right for me or should I use different asterisk variable?

Really nobody could help with this issue?
Any help will be much appreciated.

You didn’t specify what version of FreePBX you are using. For FreePBX Distro 2.9.0.7 try the following.

Take a look at Voicemail Admin and then select ext 1007. Look under Advanced Settings under Account View Links. There you will find a language field. Put fr in there.

Hi;
Thank you for the suggestion. I use Freepabx 2.5.2.2. Is there any chance to set the language for voicemail in this version?