Introduction
This document describes how to troubleshoot audio file cache issue in Voice Extensible Markup Language (VXML) gateway after successfuly loaded.
Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:
Cisco Unified Contact Center Enterprise (UCCE) comphrensive call flow
Components Used
This document is not restricted to specific software and hardware versions.
Problem
When caller dials contact centre number, few seconds silence is heard and then audio prompt.
After verification VXML gateway, the audio file from primary Cisco Voice Portal (CVP) media server is not in the cache, the same audio file from secondary CVP media server cache.
Manually load the audio file from CVP primary media server, and it shows successful, but the file is listed as non-cached entries.
Non-cached entries
==================
Ref Size
--- ----
1 17810
url: http://10.66.75.48/en-us/app/test/2.wav
1 17810
url: http://10.66.75.48/en-us/app/test/3.wav
Troubleshoot
Enable dubug http client all, and make a test call.
From the log, there is one attribute
Cache-Control:no-cache
Jan 10 03:05:13.949 UTC: //1268364//HTTPC:/httpc_msg_read: Start processing 536 bytes data
Jan 10 03:05:13.949 UTC: //1268364//HTTPC:/httpc_msg_read: Stored msg. body: len=536
Jan 10 03:05:13.953 UTC: //1268364//HTTPC:/httpc_socket_read: socket readable fd: 0
Jan 10 03:05:13.953 UTC: //1268364//HTTPC:/httpc_socket_read:
Jan 10 03:05:13.953 UTC: read data from the socket 0 : first 400 bytes of data:
<?xpacket end="w"?> Cr8rT(Unprintable char...)000FFFFFFBEFFFFFFEFFFFFFFCAFFFFFFFE000540100000000000000000000000000000000000000000041646F626520536F756E64626F6F7468204353352028584D50446F634F7073044495350400010004C495354FFFFFF92000494E464F494352441A000323031362D30332D30315431353A32303A30332D30363A30300494152540000494E414D0000
Jan 10 03:05:13.953 UTC: //1268364//HTTPC:/httpc_msg_read: Start processing 492 bytes data
Jan 10 03:05:13.953 UTC: //1268364//HTTPC:/httpc_msg_read: Stored msg. body: len=492
Jan 10 03:05:13.953 UTC: //1268364//HTTPC:/httpc_socket_read: MSG_COMPLETE: rsp_code(200),msg(185FD39C)URL:http://media/en-us/app/Beacon/ROS_Monitor.wav, fd(0)
Jan 10 03:05:13.953 UTC: processing server rsp msg: msg(185FD39C)URL:http://media/en-us/app/Beacon/xxxxxx.wav, fd(0):
Jan 10 03:05:13.953 UTC: Request msg: GET /en-us/app/Beacon/ROS_Monitor.wav HTTP/1.1
Jan 10 03:05:13.953 UTC: Message Response Code: 200
Jan 10 03:05:13.953 UTC: Message Rsp Decoded Headers:
Jan 10 03:05:13.953 UTC: Cache-Control:no-cache
Jan 10 03:05:13.953 UTC: Date:Wed, 10 Jan 2018 03:05:09 GMT
Jan 10 03:05:13.953 UTC: Content-Length:114386
Jan 10 03:05:13.953 UTC: Content-Type:audio/wav
Jan 10 03:05:13.953 UTC: ETag:"e9d02a87074d11:0"
Jan 10 03:05:13.953 UTC: Last-Modified:Tue, 01 Mar 2016 21:22:58 GMT
Jan 10 03:05:13.953 UTC: headers:
Jan 10 03:05:13.953 UTC: HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: audio/wav
Last-Modified: Tue, 01 Mar 2016 21:22:58 GMT
Accept-Ranges: bytes
ETag: "e9d02a87074d11:0"
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Wed, 10 Jan 2018 03:05:09 GMT
Content-Length: 114386
Solution
The root cause of the issue was found after lab-recreation. These steps were taken to re-create the scenario:
Step 1. Under CVP media server created a test folder in this file path:
C:\inetpub\wwwroot\en-us\app
Step 2. Under IIS manager, find the folder that you just created and double click the folder
Step 3. Double click HTTP Response Header, as shown in this image
Step 4. Click add on the right panel and input the attributes as shown in this image
Name: Cache-Control
Value: no-cache
Verify
Step 1. Load audio file CVP Media server IP address/en-us/app/test1.wav before add the attribute in IIS test folder
Cached entries
==============
entry 150, 1 entries
Ref FreshTime Age Size context
--- --------- --- ---- -------
2 86400 360 17810 0
url: http://10.66.75.48/en-us/app/test/1.wav
Step 2. Add Cache-control with value no-cache and load audio file from test folder
10.66.75.48/en-us/app/test/2.wav
10.66.75.48/en-us/app/test/3.wav
These two audio files are now listed in the non-cached entries:
Cached entries
==============
entry 150, 1 entries
Ref FreshTime Age Size context
--- --------- --- ---- -------
2 86400 360 17810 0
url: http://10.66.75.48/en-us/app/test/1.wav
Non-cached entries
==================
Ref Size
--- ----
1 17810
url: http://10.66.75.48/en-us/app/test/2.wav
1 17810
url: http://10.66.75.48/en-us/app/test/3.wav
Step 3. Load audio file from other folders
10.66.75.48/en-us/app/whisper.wav
It shows that only test folder affected by the attribute.
Maximum memory pool allowed for HTTP Client caching = 15000 K-bytes
Maximum file size allowed for caching = 500 K-bytes
Total memory used up for Cache = 36901 Bytes
Message response timeout = 30 secs
Total cached entries = 2
Total non-cached entries = 2
Cached entries
==============
entry 150, 1 entries
Ref FreshTime Age Size context
--- --------- --- ---- -------
2 86400 360 17810 0
url: http://10.66.75.48/en-us/app/test/1.wav
entry 166, 1 entries
Ref FreshTime Age Size context
--- --------- --- ---- -------
1 4691902 2495 17810 0
url: http://10.66.75.48/en-us/app/whisper.wav
Non-cached entries
==================
Ref Size
--- ----
1 17810
url: http://10.66.75.48/en-us/app/test/2.wav
1 17810
url: http://10.66.75.48/en-us/app/test/3.wav
Related Information
https://support.microsoft.com/en-au/help/247404/how-to-modify-the-cache-control-http-header-when-you-use-iis