I spent years working with a team from a major telecoms company who were trying to do this purely electronically and I think I can say from their frustration, it isn't possible.
The real issue is the echo is not a replica of the original, apart from the delay, it is distorted in the frequency and time domain by the return route from the far end. You are asking for a device that can analyze your outgoing speech and the incoming speech, find similarities and subtract the result from the received audio, it just isn't practical to do, especially in real time.
Things you can try:
1. as mentioned earlier, a noise cancelling microphone to eliminate some of the unintended pick up.
2. a system like 'anti-vox' used in radio comms where the received level is used to desensitize the microphone amplifier.
3. a ring modulator and LF oscillator (<10Hz) to pitch shift the microphone signal slightly. This doesn't stop the echo but it helps to stop accoustic feedback (howling).
4. an electronic add and invert system to mix the incoming and outgoing signals (like a POTS hybrid network) but you will need complex filtering and the results may be different from one call to another, possibly making the situation worse on some calls.
Brian.