You can combine array_combine() the krsort() on this particular situation. Consider this example:
$agents = Array('abc','xyz','pqr');
$tot_calls = Array ('10','5','20');
// calls become the keys and agents become the values
$sorted_values = array_combine($tot_calls, $agents);
krsort($sorted_values); // sort them by keys
print_r($sorted_values);
// maybe if you want to clear the keys
$sorted_values = array_values($sorted_values);
Sample Fiddle
EDIT:
Alternatively, @Satish made a good point about it. To avoid the same key issue (well maybe, at least if there are no agent name collision). You can use this instead (just the other way around):
$agents = Array('abc','xyz','pqr');
$tot_calls = Array ('10','5','20');
// agents become keys and calls become values
$sorted_values = array_combine($agents, $tot_calls);
arsort($sorted_values);
$sorted_values = array_keys($sorted_values);
print_r($sorted_values);
Sample Fiddle