https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html> we support “no-cache” and “no-store” methods of standard Cache-Control header in the http response.
On Aug 26, 2016, at 4:36 PM, Lin, Xiaoping <xlin@soleocommunications.com> wrote:
Mike,
Thank you for your explanation. I do like the feature for saving the time of loading and I tested and verified. In our case, we only have a limited audios which are static but most of audios are from our ad providers and the audios are dynamic and the urls may even dynamically generated. For each call at least the ad url will be different. Do we have any choice, even disable the catch feature? Just a thought, ideally, if XML can pass a flag indicate a dynamic one or static one and the code will know cache it or not. We are open to your suggestions!
Thank you very much!
- Xiaoping
From: Michael Jerris [mailto:mike@jerris.com] Sent: Friday, August 26, 2016 4:09 PM To: Lin, Xiaoping <xlin@soleocommunications.com> Cc: freeswitch-users@lists.freeswitch.org Subject: Re: [Freeswitch-users] Question about httapi app cached audio files
The point is to re-use the file so it doesn’t have to download it each time. If its not, you are either downloading a different file each time, or there is some other reason its not using the cache.
On Aug 26, 2016, at 3:56 PM, Lin, Xiaoping <xlin@soleocommunications.com <mailto:xlin@soleocommunications.com>> wrote:
Hi! Mike,
Thank you very much for your reply! I did a little research and find your name in the contributor list of contributors for switch_ivr_play_say.c and hope you do not mind I go further, hope to get your opinion and suggestions.
Our product is running under 60k/hour call volume. Each call may have 3 to 4 files and plus the meta files. Cron job may end up to impact the performance badly. Our production owner cannot accept that solution.
From the log file I noticed:
(1). Mod_httpapi.c line 2631 created the cache file (2). switch_ivr_play_say.c:1910 plays the file, even from the message, I cannot tell it plays from the original or from the cached.
I am wondering if the purpose of saving the cache is for playing audio in full from the local, because it creates file with different name each time. If switch_ivr_play_say.c:1910 knows that it has done with playing, why not just delete the files (wav and meta) after playing? Can we have a quick fix? Any other suggestions?
Many Thanks!
- Xiaoping
2016-08-26 15:44:24.602281 [NOTICE] mod_dptools.c:1309 Channel [sofia/external/5856414300@10.11.210.169 <mailto:sofia/external/5856414300@10.11.210.169>:7060] has been answered 2016-08-26 15:44:24.602281 [DEBUG] switch_channel.c:3770 (sofia/external/5856414300@10.11.210.169 <mailto:sofia/external/5856414300@10.11.210.169>:7060) Callstate Change EARLY -> ACTIVE 2016-08-26 15:44:24.602281 [DEBUG] sofia.c:6858 Channel sofia/external/5856414300@10.11.210.169 <mailto:sofia/external/5856414300@10.11.210.169>:7060 entering state [completed][200] EXECUTE sofia/external/5856414300@10.11.210.169 <mailto:sofia/external/5856414300@10.11.210.169>:7060 httapi({method=POST,url=http://10.11.210.169:8690/BannerAdApp/servlet/VoiceAppServlet?dsarsinfo=dsar... <http://10.11.210.169:8690/BannerAdApp/servlet/VoiceAppServlet?dsarsinfo=dsars_vip=10.11.210.63;dsars_key=0e9510d6-524d-4489-991b-77b8f400d003&Context=BannerAdApp>}) 2016-08-26 15:44:24.764249 [CRIT] mod_httapi.c:1153 Debugging Return Data: <document type="text/freeswitch-httapi"> <work> <playback file="http://10.11.210.169:8690//CA/servlet/CA/BannerAdApp/Default/en_US/AgainNumN... <http://10.11.210.169:8690/CA/servlet/CA/BannerAdApp/Default/en_US/AgainNumNotInService.wav>" action="http://10.11.210.169:8690//BannerAdApp/servlet/VoiceAppServlet;jsessionid=1C... <http://10.11.210.169:8690/BannerAdApp/servlet/VoiceAppServlet;jsessionid=1CE051F7B88C2D11AB430A97FD243A21?item=0&PLAY_DONE>" /> </work> </document> 2016-08-26 15:44:24.764249 [DEBUG] mod_httapi.c:1222 Process Tag: [playback] 2016-08-26 15:44:24.764249 [DEBUG] sofia.c:6858 Channel sofia/external/5856414300@10.11.210.169 <mailto:sofia/external/5856414300@10.11.210.169>:7060 entering state [ready][200] 2016-08-26 15:44:24.764249 [DEBUG] mod_httapi.c:2631 caching:url:http://10.11.210.169:8690//CA/servlet/CA/BannerAdApp/Default/en_US/AgainNumN... <url:http://10.11.210.169:8690//CA/servlet/CA/BannerAdApp/Default/en_US/AgainNumNotInService.wav> to /var/lib/freeswitch/storage/http_file_cache/1f1a57f1bbfb2aa96d727a7a3fba94b6.wav (56842 bytes) 2016-08-26 15:44:24.764249 [DEBUG] switch_ivr_play_say.c:1467 Codec Activated L16@8000hz 1 channels 20ms 2016-08-26 15:44:24.764249 [DEBUG] switch_rtp.c:6707 Correct audio ip/port confirmed. 2016-08-26 15:44:28.302287 [DEBUG] switch_ivr_play_say.c:1910 done playing file http://10.11.210.169:8690//CA/servlet/CA/BannerAdApp/Default/en_US/AgainNumN... <http://10.11.210.169:8690/CA/servlet/CA/BannerAdApp/Default/en_US/AgainNumNotInService.wav> From: freeswitch-users-bounces@lists.freeswitch.org <mailto:freeswitch-users-bounces@lists.freeswitch.org> [mailto:freeswitch-users-bounces@lists.freeswitch.org <mailto:freeswitch-users-bounces@lists.freeswitch.org>] On Behalf Of Michael Jerris Sent: Friday, August 26, 2016 11:49 AM To: FreeSWITCH Users Help <freeswitch-users@lists.freeswitch.org <mailto:freeswitch-users@lists.freeswitch.org>> Subject: Re: [Freeswitch-users] Question about httapi app cached audio files
either they are not re using the cache due to cache expiry or other reason not to cache. A corn job should be able to clean up older files in this for, or could even look at the metadata and kill stale cache files. I don't think we have any code or script to do this currently. A script or patch for a command to do that would be a nice addition
On Friday, August 26, 2016, Lin, Xiaoping <xlin@soleocommunications.com <mailto:xlin@soleocommunications.com>> wrote: Hello,
We are developing an app using httapi (FreeSwitch 1.6). Our installation and support engineer reported cached audio files have been dumped under
/var/lib/freeswitch/storage/http_file_cache
They are not cleaned and take all the disk space after running for a period time. The files list look like:
-rw------- 1 freeswitch daemon 124 Aug 12 16:28 ef98679d646e00a3a6f5b9265a6b8a21.meta -rw------- 1 freeswitch daemon 91192 Aug 12 16:28 ef98679d646e00a3a6f5b9265a6b8a21.wav -rw------- 1 freeswitch daemon 137 Aug 16 15:19 f02875bcd1db251e20d286d57aaff373.meta -rw------- 1 freeswitch daemon 40660 Aug 8 21:21 f02875bcd1db251e20d286d57aaff373.wav -rw------- 1 freeswitch daemon 124 Aug 12 15:51 f7b50a0efadb7dd589d37ba00115c8d1.meta -rw------- 1 freeswitch daemon 91192 Aug 12 15:51 f7b50a0efadb7dd589d37ba00115c8d1.wav -rw------- 1 freeswitch daemon 124 Aug 10 14:08 feb0d10f984b4ea85e9f6645f561bbf4.meta -rw------- 1 freeswitch daemon 91192 Aug 10 14:08 feb0d10f984b4ea85e9f6645f561bbf4.wav
Even the files are the same, it was saved with different file names and never got cleaned.
Anyone has the same problem and what is the correct way to deal with this?
Many thanks!
- Xiaoping