Unless these Fanvil guys are real idiots, transmission is probably ok. So on an internal call between Cisco and Fanvil, what you hear on the Cisco is likely realistic.
Some thoughts on possibly salvaging the existing phones:
Configure a Fanvil to register to Messagenet directly. (Remove the Messagenet trunk on the PBX so it doesn’t hijack the calls.) Check incoming call quality. If it’s much better, my theory about sequence numbers is probably correct; there may be a way to get Asterisk to “clean up” the incoming RTP so the Fanvil will render it reasonably well.
You may want to investigate the packet loss in more detail. If caused by your router or LAN, it may be easy to fix. If there are errors on your fiber line, you may be able to get the ISP to fix it.
I tried a ping test to voip.vivavox.it (from Paris) and didn’t see a single packet lost:
Ping statistics for 83.211.227.21:
Packets: Sent = 2771, Received = 2771, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 18ms, Maximum = 37ms, Average = 19ms