Random Dropped Calls on answer 1-3 seconds

As root, run a command like this to capture all SIP and RTP:
tcpdump -s 0 -C 100 -W 100 -w rbuf -Z root &

This writes a ring buffer of 100 files of 100MB each (rbuf00, rbuf01, …, rbuf99). (Be sure you have 10 GB available disk space.)

Assuming that your peak hour is ~200 calls and average call duration is ~2 minutes, you would have ~6 concurrent calls, which is about 50 minutes of captured data. When a dropped call is reported, before the buffer gets overwritten, find the file with the bad call (look at times last modified), copy it to your PC and analyze with Wireshark. (Also save the previous one, in case the call overlapped two files.)

OK, so we assume that the agent hung up because s/he didn’t hear anything. Confirm that first. At the time of hangup, what RTP was flowing to the phone (none, all zeros, silent but with 1-2 LSBs of noise, normal speech)? Find the corresponding RTP on the trunk side and look at / listen to it also. Report what you find there.

Possibly, there is nothing wrong – 4 dropped calls out of a thousand could simply be that the caller abandoned the call at about the time the agent answered. What kind of trunks do you have?