Struggled with one-way voice (outgoing OK, but Incoming silent) on my UK trunk for ages, and everything I tied (firewalls etc.) failed to work - though it did work sporadically.
In the end the problem / solution was really simple.
In Trunk/Sip Settings/Peer Details the settings was for “allow=alaw&ulaw”
although both alaw and ulaw were checked in the General SIP Settings / Codecs moving ulaw to the top and then setting “allow=ulaw” only; in Peer Details means it now works perfectly and reliably!
Hope this helps someone!