[Sony Cross-Device General] PDesire:
The echo comes from the ACDB Data used on the AOSP builds. They are buggy and so you have that problem

About the voice echo canceling:

This is something you have to enable on audio_effects.conf which is maybe a bit tricky (location of the main file is on /vendor/etc/

You have to add on audio_effects.conf then this:

libraries {
#Some other effects.....
audio_pre_processing {
path /system/lib/soundfx/libqcomvoiceprocessing.so
}
effects {
aec {
library audio_pre_processing
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
}
}

pre_processing {
voice_communication {
aec {}
}
mic {
aec{}
}
}

Here is one example of implementation (file from Project Meli):

libraries {
offload {
path /system/lib/soundfx/libaudioeffectoffload.so
}
am3daudioenhancement {
path /system/lib/soundfx/libam3daudioenhancement.so
}
bundle {
path /system/vendor/lib/soundfx/libbundlewrapper.so
}
reverb {
path /system/vendor/lib/soundfx/libreverbwrapper.so
}
visualizer_sw {
path /system/lib/soundfx/libvisualizer.so
}
visualizer_hw {
path /system/lib/soundfx/libqcomvisualizer.so
}
downmix {
path /system/vendor/lib/soundfx/libdownmix.so
}
output_processing {
path /system/vendor/lib/libLifevibes_lvverx.so
}
pre_processing {
path /system/vendor/lib/libLifevibes_lvvetx.so
}

#here the effect definition
audio_pre_processing {
path /system/lib/soundfx/libqcomvoiceprocessing.so
}
#####

proxy {
path /system/vendor/lib/soundfx/libeffectproxy.so
}
sonyeffect_sw {
path /system/lib/soundfx/libsonysweffect.so
}
sonyeffect_hw {
path /system/lib/soundfx/libsonypostprocbundle.so
}
fnrwrapper {
path /system/lib/soundfx/libfnrwrapper.so
}
znrwrapper {
path /system/vendor/lib/soundfx/libznrwrapper.so
}
volume_listener {
path /system/lib/soundfx/libvolumelistener.so
}
spectrum {
path /system/lib/soundfx/libspectrum.so
}
mmieffects {
path /system/lib/soundfx/libmmieffectswrapper.so
}
mysound {
path /system/lib/libmysound.so
}
myspace {
path /system/lib/soundfx/libmyspace.so
}
soundalive_sec {
path /system/lib/soundfx/libaudiosa_sec.so
}
soundalive {
path /system/lib/libaudiosa.so
}
soundbooster_plus {
path /system/lib/libsamsungSoundbooster_plus.so
}
soundaura{
path /system/lib/soundfx/libsoundaurawrapper.so
}
clearaudio {
path /system/lib/soundfx/libclearaudiowrapper.so
}
beatsaudio {
path /system/lib/soundfx/libbeatsbass.so
}
beatscore {
path /system/lib/soundfx/libbeatscorehtc.so
}
SRS {
path /system/lib/soundfx/libsrsfx.so
}
harman_kardon {
path /system/lib/soundfx/libharmancorehtc.so
}
ds_hw {
path /system/vendor/lib/soundfx/libhwdap.so
}
srs {
path /system/lib/soundfx/libsrs.so
}
spectrum {
path /system/lib/soundfx/libspectrum.so
}
bbesonicmax {
path /system/lib/soundfx/libbbesonicmax.so
}
maxv {
path /system/lib/soundfx/libmaxv.so
}
hpx {
path /system/lib/soundfx/libhpx.so
}
eagle {
path /system/lib/soundfx/libeagle.so
}
}

effects {
sonyeffect {
library proxy
uuid af8da7e0-2ca1-11e3-b71d-0002a5d5c51b

libsw {
library sonyeffect_sw
uuid 50786e95-da76-4557-976b-7981bdf6feb9
}

libhw {
library sonyeffect_hw
uuid f9ed8ae0-1b9c-11e4-8900-0002a5d5c51b
}
}
srs {
library srs
uuid 40050b20-6999-11e0-b0d8-0002a5d5c51c
}
spectrum {
library spectrum
uuid 40050b20-6999-11e0-b0d8-0002a5d5c51d
}
bbesonicmax {
library bbesonicmax
uuid 40050b20-6999-11e0-b0d8-0002a5d5c51e
}
maxv {
library maxv
uuid 40050b20-6999-11e0-b0d8-0002a5d5c51f
}
hpx {
library hpx
uuid 40050b20-6999-11e0-b0d8-0002a5d5c520
}
dts-eagle {
library eagle
uuid 146edfc0-7ed2-11e4-80eb-0002a5d5c51b
}
am3daudioenhancement {
library am3daudioenhancement
uuid 6723dd80-f0b7-11e0-98a2-0002a5d5c51b
}
bassboost {
library bundle
uuid 8631f300-72e2-11df-b57e-0002a5d5c51b
}
qcbassboost {
library qcbassboost
uuid 23aca180-44bd-11e2-bcfd-0800200c9a66
}
srs_bassboost {
library SRS
uuid f7a247b0-1a7b-11e0-bb0d-2a30dfd72085
}
virtualizer {
library soundaura
uuid cf65eb39-ce2f-48a8-a903-ceb818c06745
}
second_virtualizer {
library proxy
uuid 1db5b180-50bb-11e3-888e-0002a5d5c51b

libsw {
library soundaura
uuid cf65eb39-ce2f-48a8-a903-ceb818c06745
}

libhw {
library ds_hw
uuid a0c30891-8246-4aef-b8ad-d53e26da0253
}
}
third_virtualizer {
library bundle
uuid 1d4033c0-8557-11df-9f2d-0002a5d5c51b
}
equalizer {
library clearaudio
uuid c3f00260-e194-11df-8eb3-0002a5d5c51b
}
second_equalizer {
library bundle
uuid ce772f20-847d-11df-bb17-0002a5d5c51b
}
volume {
library bundle
uuid 119341a0-8469-11df-81f9-0002a5d5c51b
}
reverb_env_aux {
library proxy
uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b

libsw {
library qcreverb
uuid a8c1e5f3-293d-43cd-95ec-d5e26c02e217
}

libhw {
library ds_hw
uuid a0c30891-8246-4aef-b8ad-d53e26da0253
}
}
reverb_env_ins {
library proxy
uuid b707403a-a1c1-4291-9573-0002a5d5c51b

libsw {
library qcreverb
uuid 791fff8b-8129-4655-83a4-59bc61034c3a
}

libhw {
library ds_hw
uuid a0c30891-8246-4aef-b8ad-d53e26da0253
}
}
reverb_pre_aux {
library proxy
uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b

libsw {
library qcreverb
uuid 53ef1db5-c0c0-445b-b060-e34d20ebb70a
}

libhw {
library ds_hw
uuid a0c30891-8246-4aef-b8ad-d53e26da0253
}
}
reverb_pre_ins {
library proxy
uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b

libsw {
library qcreverb
uuid b08a0e38-22a5-11e2-b87b-f23c91aec05e
}

libhw {
library ds_hw
uuid a0c30891-8246-4aef-b8ad-d53e26da0253
}
}
visualizer {
library proxy
uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c

libsw {
library visualizer_sw
uuid d069d9e0-8329-11df-9168-0002a5d5c51b
}

libhw {
library visualizer_hw
uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b
}
}
downmix {
library downmix
uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
}

# Here you see the Acoustic Echo Cancellation
aec {
library pre_processing
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
}

########
}

# Pre Output Session

# Pre Processing Definitions
pre_processing {
voice_communication {
aec {}
}
mic {
aec{}
}
}

######

If it's too difficult to understand I also can write the audio_effects.conf for you to enable it

I don't think it will make a big change while call but we can try

Your PDesire