Base-domain stuff is only if you host your own S3-compatible service. It will default to amazonaws.com if not set. If setting profile=s3 doesn't work, then something is really broken in the config. On Thu, Jun 16, 2016 at 3:32 PM, Dave Horton <daveh@beachdognet.com> wrote:
Well, from looking at the code, part of the problem is that there is an additional — undocumented — configuration parameter called ‘base-domain’ which is required for the AWS stuff to kick in….still trying to figure out how this works, by reading the code……anyone who has knowledge please chime in
On Jun 16, 2016, at 2:42 PM, Christopher Rienzo <cmrienzo@gmail.com> wrote:
Given the example configuration, you can remove {profile=s3}http_cache:// from your playback URL. Also, you can change the config / reload the module / and test using fs_cli http_get for rapid verification of your setup.
On Thu, Jun 16, 2016 at 2:13 PM, Dave Horton <daveh@beachdognet.com> wrote:
I’m having trouble using http_cache to download and play a wave file from my amazon S3 bucket. I’m following the basic config at https://freeswitch.org/confluence/display/FREESWITCH/mod_http_cache but I must be missing something.
My http_cache.conf.xml looks like this:
——————————— <configuration name="http_cache.conf" description="HTTP GET cache"> <settings> <!-- set to true if you want to enable http:// and https:// formats. Do not use if mod_httapi is also loaded --> <param name="enable-file-formats" value="true"/> <param name="max-urls" value="10000"/> <param name="location" value="$${cache_dir}"/> <param name="default-max-age" value="86400"/> <param name="prefetch-thread-count" value="8"/> <param name="prefetch-queue-size" value="100"/> <!-- absolute path to CA bundle file --> <param name="ssl-cacert" value="$${certs_dir}/cacert.pem"/> <!-- verify certificates --> <param name="ssl-verifypeer" value="true"/> <!-- verify host name matches certificate --> <param name="ssl-verifyhost" value="true"/> <!-- default is 300 seconds, override here --> <!--param name="connect-timeout" value="300"/--> <!-- default is 300 seconds, override here --> <!--param name="download-timeout" value="300"/--> </settings>
<profiles> <!-- amazon s3 security credentials --> <profile name="s3"> <aws-s3> <!-- 20 character key identifier --> <access-key-id><![CDATA[my-access-key-here]]></access-key-id> <!-- 40 character secret -->
<secret-access-key><![CDATA[my-secret-access-key-here]]></secret-access-key> </aws-s3> <!-- optional list of domains that this profile will automatically be applied to --> <!-- if you wish to apply the s3 credentials to a domain not listed here, then use {profile=s3}http://foo.s3... --> <domains> <domain name=“my-bucket.s3.amazonaws.com"/> </domains> </profile> </profiles> </configuration> —————————————
My dialplan looks like this:
—————————————— <extension name="announcement"> <condition field="${sip_req_user}" expression="^annc$"/> <condition field="${sip_req_params}" expression="^play=(.*)$"> <action application="log" data=“file to play: $1"/> <action application="answer"/> <action application="sleep" data="1000"/> <action application="playback" data="{profile=s3}http_cache:// https://my-bucket.s3.amazonaws.com:/$1"/> <action application="hangup"/> </condition> </extension> _______________________
The log file says this:
EXECUTE sofia/drachtio_mrf/5083084809@68.64.80.16 playback({profile=s3}http_cache:// http://wcs-icr.s3.amazonaws.com:/RBT-5762afa9991351886b295fbc/prompt/1466086... ) 2016-06-16 14:02:59.173718 [DEBUG] mod_http_cache.c:569 Locked cache 2016-06-16 14:02:59.173718 [INFO] mod_http_cache.c:661 Cache MISS: size = 0 (0 MB), hit ratio = 0/1 2016-06-16 14:02:59.173718 [DEBUG] mod_http_cache.c:726 Adding http://wcs-icr.s3.amazonaws.com:/RBT-5762afa9991351886b295fbc/prompt/1466086...) to cache index 0 2016-06-16 14:02:59.173718 [DEBUG] mod_http_cache.c:580 Unlocked cache 2016-06-16 14:02:59.173718 [DEBUG] mod_http_cache.c:1077 opening /usr/local/freeswitch/cache/b6/456219-e1eb-43c2-bbd9-449cfb3af6ac.wav for URL cache 2016-06-16 14:02:59.233717 [DEBUG] mod_http_cache.c:548 HTTP/1.1 403 Forbidden 2016-06-16 14:02:59.233717 [DEBUG] mod_http_cache.c:548 x-amz-request-id: F27F3491740AC96E 2016-06-16 14:02:59.233717 [DEBUG] mod_http_cache.c:548 x-amz-id-2: 1LII609UCqdosrj+3tha2MrWfkoDjIgJ/wK2V47LDkgpn6/i8V4GFRxVzzoXRj9Rzbq6BMP15Po= 2016-06-16 14:02:59.233717 [DEBUG] mod_http_cache.c:548 Content-Type: application/xml 2016-06-16 14:02:59.233717 [DEBUG] mod_http_cache.c:548 Transfer-Encoding: chunked 2016-06-16 14:02:59.233717 [DEBUG] mod_http_cache.c:548 Date: Thu, 16 Jun 2016 18:02:58 GMT 2016-06-16 14:02:59.233717 [DEBUG] mod_http_cache.c:548 Server: AmazonS3 2016-06-16 14:02:59.233717 [DEBUG] mod_http_cache.c:548 2016-06-16 14:02:59.233717 [ERR] mod_http_cache.c:1131 Received HTTP error 403 trying to fetch http://wcs-icr.s3.amazonaws.com:/RBT-5762afa9991351886b295fbc/prompt/1466086... 2016-06-16 14:02:59.233717 [DEBUG] mod_http_cache.c:569 Locked cache 2016-06-16 14:02:59.233717 [INFO] mod_http_cache.c:683 Failed to download URL http://wcs-icr.s3.amazonaws.com:/RBT-5762afa9991351886b295fbc/prompt/1466086... 2016-06-16 14:02:59.233717 [DEBUG] mod_http_cache.c:580 Unlocked cache EXECUTE sofia/drachtio_mrf/5083084809@68.64.80.16 hangup()
————————
I’ve fiddled with a bunch of different things, but no luck. I took a tshark of the outgoing http get and I can see it is not putting in the headers to authenticate, so it seems it is not getting into the S3 code in http_cache. The docs do not include a complete S3 working example, unfortunately.
Any help or pointers from those who have gotten this working would be appreciated…
Dave _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org