question

Joe Ramos avatar image
Joe Ramos asked Joe Ramos commented

Call Log: Archiving of call records

We are looking to archive the call records, but may be approaching things the wrong way.

Using the basic: /restapi/v1.0/account/~/call-log?view=Detailed&perPage=900

(Yes we loop through the pages using nextPage)

We receive the call logs for the past 24 hours. We record them in SQL and were under the impression that the id was a unique identifier to the call record. So we run this every 5 minutes as we use this data for integrating with our wallboards and CRM in addition to archiving.

We do not want duplicates, so we filter for existing ids that exist in our SQL database.

The issue is we end up missing calls. It appears that there are multiple records with the same id, same session id but in cases different timestamp and duration etc.. (Unless the RC system is updating and existing call record in their system.) Again we were under the impression that a call was only logged in RC when it is completed.)

So in short is there an actual unique identifier or key-combination to use? Or is there a better approach to this method?


Thanks ahead of time.


call logs
1 |3000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Phong Vu avatar image
Phong Vu answered

Hi Joe,

First of all, check out these documentations to find useful information for your data archive.

https://developers.ringcentral.com/guide/voice/call-log/archival

https://developers.ringcentral.com/guide/voice/call-log/sync

The best way to archive is to use the call log sync API though.

Back to your questions/problems, the ids should be unique. Can you post a few records which have the same ids (remember to erase sensitive info such as phone number, name etc.)

1 |3000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Joe Ramos avatar image
Joe Ramos answered Joe Ramos commented

So the call log archival is what we are using. The issue is a best practice to retrieve call logs every 5 minutes. We have it working but we do not want to duplicate call logs on our side, so we filter out any existing ids. The issue is that the duration may not be correct as it appears Ring Central will update that id on their end through the life of the call. So my reference to duplicates earlier may not be the case, but an update. So we have a hard time to pull the updated call log without having to delete all records from a portion of time back and re-bring that data in.

I like and wanted to use the fSync/iSync method, but having trouble understanding the 250 limit. We have over 200 users so it is very possible to have more than 250 each sync,.

I am lacking an example for the data at the moment as we removed it to bring in the correct record, but here is an example of what we are seeing.

id: xyz --- startTime : 1/1/2019 17:00:148 --- duration: 4 --- session id: 1234

id: xyz --- startTime: 1/1/2019 17:00:133 --- duration: 75 --- sessionid:1234


The times will be different, the id and session id will be the same. Only one ever exits on the Ring Central Side, thus why we think it gets updated in the life of the call.


So, again, we are searching for best way to handle. Sounds like deleting all records for a period of time and bringing them all back in.

2 comments
1 |3000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Phong Vu avatar image Phong Vu ♦♦ commented ·

We don't have extra documentation about the call log synchronization. But this blog is discussing about the message store synchronization and it may give you a little more explanation on how to use the FSync and ISync.

How often do you see the duplication? Can you give a little more details of the duplication such as the legs, type etc.

What programming language are you writing your app? Let me know so I may write a simple demo app to show you.

0 Likes 0 ·
Joe Ramos avatar image Joe Ramos Phong Vu ♦♦ commented ·

c# but using rest based calls. but anything you may have would be helpful. , I will look further into using the FSync and ISync again.

0 Likes 0 ·

Developer sandbox tools

Using the RingCentral Phone for Desktop, you can dial or receive test calls, send and receive test SMS or Fax messages in your sandbox environment.

Download RingCentral Phone for Desktop:

Tip: switch to the "sandbox mode" before logging in the app:

  • On MacOS: press "fn + command + f2" keys
  • On Windows: press "Ctrl + F2" keys