I seem to be having an problem getting transcription to work with Azure in the long term.
I followed the instructions for setting up the voicemail transcription to work and everything seems to be fine for the first transcription, but on subsequent transcriptions (an hour or so later) it would fail.
That got me looking into the code and it seems that the script saves the azure access token to cache and doesn't let it go, and since the access token is only valid for 10 minutes or so, any messages sent after the 10 minute period would be expected to fail, and that's exactly what they do...
To confirm this is the problem I cleared the cache using the button from the web interface under sip status and... voicemail transcription works again for the next 10 minutes.
While I'm doing this I'm keeping an eye on the logs and I will keep getting the following message until I click Flush Cache:
So a little more reading and I found out that the token caching was intended to work with memcache, and since this is a newer installation it defaults with a file based caching. So I try to change the cache method to memcache and even change the location to /tmp in default settings, reload, and restart the server but I keep finding cache in the /var/cache/fusionpbx folder.. specifically, app.voicemail.azure.access_token after I run the voicemail transcription
To further that, when I click flush cache from the web interface it no longer clears the files in /var/cache/fusionpbx... even when I had the location still pointing to that directory.
So my question is this.. Am I doing something wrong with converting the system caching to memcached? Or is the voicemail transcription with azure a known issue? If so, is there a fix for this anywhere? Aside from commenting out the line for getting the cache record?
Thank you!
John
I followed the instructions for setting up the voicemail transcription to work and everything seems to be fine for the first transcription, but on subsequent transcriptions (an hour or so later) it would fail.
That got me looking into the code and it seems that the script saves the azure access token to cache and doesn't let it go, and since the access token is only valid for 10 minutes or so, any messages sent after the 10 minute period would be expected to fail, and that's exactly what they do...
To confirm this is the problem I cleared the cache using the button from the web interface under sip status and... voicemail transcription works again for the next 10 minutes.
While I'm doing this I'm keeping an eye on the logs and I will keep getting the following message until I click Flush Cache:
After I click Flush Cache it will actually go fetch the new token and everything will work for the next 10 minutes.[NOTICE] switch_cpp.cpp:1465 [voicemail] Azure access_token recovered from memcached
So a little more reading and I found out that the token caching was intended to work with memcache, and since this is a newer installation it defaults with a file based caching. So I try to change the cache method to memcache and even change the location to /tmp in default settings, reload, and restart the server but I keep finding cache in the /var/cache/fusionpbx folder.. specifically, app.voicemail.azure.access_token after I run the voicemail transcription
To further that, when I click flush cache from the web interface it no longer clears the files in /var/cache/fusionpbx... even when I had the location still pointing to that directory.
So my question is this.. Am I doing something wrong with converting the system caching to memcached? Or is the voicemail transcription with azure a known issue? If so, is there a fix for this anywhere? Aside from commenting out the line for getting the cache record?
Thank you!
John