Calls
Call Recordings
Download Call Recordings
3 min
download individual recordings from dashboard to download individual recordings, click on the conversation you'd like to download the details of the call will appear in the new pop up window there will be a download button in this window, check for the three dots click on it to download the recording download recordings in bulk first, download the report of your choice if you are on a nix machine and if you have access to a shell, then you could run the following command for i in `cat exotel exotel incoming reports dec 09 csv | cut d , f 14 | grep v recording file does not exist | grep v recordingurl` ; do wget no check certificate $i ; done you will need to download any call report containing the voicemail links you want to download on your linux terminal, filter it according to the agents/groups numbers, etc, and store it you need to replace exotel exotel incoming reports dec 09 csv with the file name you have, run the command on your terminal and the call recordings will get downloaded or, if you could use this php script to download in bulk \<?php / usage php bulk php report csv(the call report should be the input) output dir(eg /desktop) the first argument is for the report file from which the recordingurl is extracted the second argument is the path of the directory/folder in which you need your recordings to be present / $file = $argv\[1]; $outputdir = $argv\[2]; if (empty($file)) { 	print "must provide a input file \n"; 	print $helptext; 	exit(1); } if (empty($outputdir)) { 	print "must provide a outputdir \n"; 	print $helptext; 	exit(1); } //provide the row number of recordingurl in the csv file $recordingfield = 1; if (($handle = fopen($file, "r")) !== false) { 	while (($data = fgetcsv($handle, 0 , ",")) !== false) { 	 //picking up the recording url and downloading into the outputdir 	 if(!empty($data\[$recordingfield]) && ($data\[$recordingfield]!="recordingurl")) { 	 $recordingurl = $data\[$recordingfield]; 	 echo $recordingurl "\n"; 	 echo "fetching recording \n"; 	 $path = pathinfo($recordingurl); 	 $filename = $path\['basename']; 	 $ch = curl init($recordingurl); 	 curl setopt($ch, curlopt header, 0); 	 curl setopt($ch, curlopt nobody, 0); 	 curl setopt($ch, curlopt timeout, 5); 	 curl setopt($ch, curlopt returntransfer, 1); 	 curl setopt($ch, curlopt ssl verifypeer, 1); 	 curl setopt($ch, curlopt ssl verifyhost, 2); 	 $output = curl exec($ch); 	 $status = curl getinfo($ch, curlinfo http code); 	 curl close($ch); 	 if ($status == 200) { 	 file put contents($outputdir "/" $filename, $output); 	 } 	 echo "done\n"; 	 } 	} } else { 	echo "function is not working"; } fclose($handle);
🤔
Have a question?
Our knowledgeable support team and an awesome community will get you an answer in a flash.
To ask a question or participate in discussions, you'll need to authenticate first.