...especially if the signal is weak (i.e. the phone has to use a lot of power to transmit).
Could be a battery issue, particularly if it cannot sustain proper voltage during high drain. Depending on the power requirements in this situation, if the battery is faulty then the issue may persist even with a charger connected.
Can only suggest an external aerial, it won't reduce the battery drain required for supplying a "loud" signal in low signal strength situations (the base station tells your phone what signal power to use) but will improve the error-rate and reduce battery drain relating to cpu and retransmission.