Knowledgebase: Hosted PBX
Export Call Recordings to Amazon S3
Posted by Albert Diaz, Last modified by Michael Iglesias on 03 June 2021 01:41 PM
There are use cases where a customer may need to store their Hosted PBX call recordings for longer than the service currently offers.

For example financial firms that would like like to retain recordings for several plus years.

To help with this request we now support automatic exporting and archiving of call recoding's to Amazon popular S3 bucket service.



General Overview

1. Please open a ticket with our support team requesting to setup Call Recording Exports. Make sure to include the customer name and their PBX's Domain ID.

2. Your account manager will then send you a Call Recording Export Waiver. 

3. Once you sign and complete the waiver our support team can proceed with the request.

4. Create your S3 Bucket, Policies and User per the instructions below.

5. Once finished be prepared to securely submit your new_user_credentials.csv file and bucket name to complete the integration.



Create an S3 Bucket for the Call Recordings Integration

1. Search for s3 in the top search bar and select S3 from the Services drop-down:




2. Click on the Create bucket button:




3. Type in your bucket name into the Bucket name field:




4. Make sure to select the checkbox next to Block all public access (AWS default selection):




5. Enable Bucket Versioning by selecting Enable:




6. Add Tags if you need, if not leave it as is:




7. Under Default encryption, select Enable for Server-side encryption and select Amazon S3 key (SSE-S3):




8. Leave Advanced settings as is and click on Create bucket:




9. Click on the link of your newly created bucket under the name column:




10. Click on Permissions next to Properties in the tabs list:




11. You will now be on the Permissions page, scroll down to the Bucket policy section and click Edit:




12. You may now copy and paste the S3 policy into the Policy section with your bucket name and click Save changes:




Syntax: (replace <bucketName> with your new bucket name)

{

"Version": "2012-10-17",

"Id": "PolicyId2",

"Statement": [

{

"Sid": "AllowIPmix",

"Effect": "Allow",

"Principal": "*",

"Action": "s3:*",

"Resource": [

"arn:aws:s3:::<bucketName>",

"arn:aws:s3:::<bucketName>/*"

],

"Condition": {

"IpAddress": {

"aws:SourceIp": [

"192.92.8.0/24",

"216.52.188.0/24"

]

}

}

}

]

}


Example:

{

"Version": "2012-10-17",

"Id": "PolicyId2",

"Statement": [

{

"Sid": "AllowIPmix",

"Effect": "Allow",

"Principal": "*",

"Action": "s3:*",

"Resource": [

"arn:aws:s3:::mycallrecordingbucket",

"arn:aws:s3:::mycallrecordingbucket/*"

],

"Condition": {

"IpAddress": {

"aws:SourceIp": [

"192.92.8.0/24",

"216.52.188.0/24"

]

}

}

}

]

}



Create an S3 Policy and User to Access the Bucket

Here you are creating a Policy to limit the User to only access S3 and only certain actions of S3


1. Click on Create policy




2. Search for and select S3




3. Select the following actions to set the Access level: ListBucket, GetObject, DeleteObject, and PutObject








4. Under Resources, click Add ARN in the bucket section




5. Enter in your bucket name in the Bucket name* field and then click Add:




6. Under Resources, click Add ARN in the object section:




7. Next, enter in your bucket name in the Bucket name* field. Click the checkbox next to Any next to the Object name* field and then click Add:




8. Now, click on Review policy:




9. Finally, type in your policy name in the Name* field and click Create policy:




10. Create a user with programmatic access. In the top search box, search for iam and then click on Users under Features in the drop-down list:




11. Next Click Add user:




12. Now enter the username in the User name* field, check Programmatic access and click Next: Permissions:




13. Next set the permissions by selecting Attach existing policies directly, searching for your custom s3 policy in the Filter policies search box, mark the checkbox next to your policy and then click Next: Tags




14. If you need to add tags add them now. If not, just click Next: Review




15. Now review your settings and click Create user:




16. Finally, click on Download .csv, to save the file to be sent to RingLogix and click Close:






17. Securely submit your new_user_credentials.csv file, aws region, and bucket name to RingLogix in order to complete the integration.