ODBC query function return NULL in the log. This is what I have in my func_odbc.conf file
[LANG]
dsn=asterisk
readsql=SELECT language FROM sipfriends WHERE name='${SQL_ESC(${ARG1})}'
In my dialplan I have this
[internal]
exten => 5679,1,NoOp()
exten => 5679,2,WaitExten(1)
exten => 5679,3,GotoIf($["${ODBC_LANG}" = "en"]?Voicemail_en,1:Voicemail_de,1)
exten => Voicemail_de,1,NoOp()
exten => Voicemail_de,2,Set(COUNT=${ODBC_EXIST(${CALLERID(num)})})
exten => Voicemail_de,3,GotoIf($["${COUNT}" > "0"]?Voicemail_de,4:5)
exten => Voicemail_de,4,VoicemailMain(${CALLERID(num)}@VoiceMail)
exten => Voicemail_de,5,Playback(mainmenu)
exten => Voicemail_de,6,Hangup()
exten => Voicemail_en,1,NoOp()
exten => Voicemail_en,2,Set(PIN=${ODBC_PINCHECK(${CALLERID(num)})})
exten => Voicemail_en,3,Playback(vm-password)
exten => Voicemail_en,4,Read(DIGIT,,4)
exten => Voicemail_en,5,Hangup()
No matter if I call from number which I’m sure that language is equal to ‘en’ the call always goes to
exten => Voicemail_de,1,NoOp()
In full
log I see this
[Dec 6 16:33:05] DEBUG[34192][C-0000001c] pbx.c: Launching ‘WaitExten’
[Dec 6 16:33:06] DEBUG[34192][C-0000001c] pbx_variables.c: Result of ‘ODBC_LANG’ is NULL
[Dec 6 16:33:06] DEBUG[34192][C-0000001c] pbx_variables.c: Expression result is ‘0’
[Dec 6 16:33:06] DEBUG[34192][C-0000001c] pbx.c: Launching ‘GotoIf’
[Dec 6 16:33:06] DEBUG[34192][C-0000001c] pbx.c: Launching ‘NoOp’
In asterisk CLI this:
== Using SIP RTP CoS mark 5
– Executing [5679@internal:1] NoOp(“SIP/1001-00000014”, “”) in new stack
– Executing [5679@internal:2] WaitExten(“SIP/1001-00000014”, “1”) in new stack
– Timeout on SIP/1001-00000014, continuing…
– Executing [5679@internal:3] GotoIf(“SIP/1001-00000014”, “0?Voicemail_en,1:Voicemail_de,1”) in new stack
– Goto (internal,Voicemail_de,1)
– Executing [Voicemail_de@internal:1] NoOp(“SIP/1001-00000014”, “”) in new stack
What can be the problem?