CDR logs for Freeswitch and outbound logs of Plivo will help to identify why so many calls failed. Some information about your trunk provider and contact list would also be helpful.
To understand the architecture of ICTDialer and its relationship with Plivo and Freeswitch more clear:
ICTDialer sends REST request to Plivo Framework
Plivo Framework uses Event socket to connect to FreeSwitch
FreeSwitch dials contacts using the trunk provider information
Best Regards,
Falak Nawaz