I happened to notice that one of my FPBX 15 boxes has problems when I dial the speaking clock destination(*60) while the others do not. All PBX are using the same version of FPBX.
Basically the “good ones” say the time (3:59:02 PM) like:
3 59 and 2 seconds PM
while the “bad” one starts to say it like:
3 o’clock 50 and then the call drops
the log shows and error about a missing sound file such as:
file.c: File digits/2-and does not exist in any format
Looking at the logs to compare the good vs bad, the only difference before it starts playing is that the “good” ones have language set differently:
pbx.c: Executing [s@macro-user-callerid:22] ExecIf(“PJSIP/XXXX-YYYY”, “0?Set(CHANNEL(language)=)”) in new stack
pbx.c: Executing [s@macro-user-callerid:49] Set(“PJSIP/XXXX-YYYY”, “CHANNEL(language)=en”) in new stack
while the “bad one” has those lines as:
pbx.c: Executing [s@macro-user-callerid:22] ExecIf(“PJSIP/XXXX-YYYY”, “1?Set(CHANNEL(language)=Default)”) in new stack
pbx.c: Executing [s@macro-user-callerid:49] Set(“PJSIP/XXXX-YYYY”, “CHANNEL(language)=Default”) in new stack
The ‘en’ or ‘Default’ then gets passed into the sub-hr12format function that calls SayUnixTime.
The audio playback log lines show “language ‘en’” on the good ones and “language ‘Default’” on the bad one.
I’ve found no other differences in the logs so I’m assuming that this ‘Default’ language setting is causing the different behaviour. The line 22 is in extensions_addition.conf:
exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/language)}" != “”]?Set(CHANNEL(language)=${DB(AMPUSER/${AMPUSER}/language)}))
Checking the AMPUSER entries for the extensions, looks like the good PBX have the language for the extension set to nothing while the “bad” PBX has it set to ‘Default’
Looking at all AMPUSER language entries, both systems have a mix of ones with about 2/3rds set to Default. So that seems odd as well. Not sure how the AMPUSER language entry gets set for a given extension…
On both PBX, the usermanager entry for the extension has ‘Language’ set to ‘Inherit’
(If I set to English on the “bad” PBX, behaviour does not change")
The userman directory group has Language set to “Use System Language” on both PBX
Checking the extension settings, the Language code is set to ‘Default’ on the extensions.
Anyone have any ideas? It could be that this language setting is not involved at all but that is the only difference I see in the logs.