The problem is that the rtpmap is being set to 0, which causes it to misbehave. Here is the solution posted by yealink support, when I had a similar problem. Start off with this in your config (notice: the rtp maps cannot be changed).
Code:
account.1.codec.1.enable = 1
account.1.codec.1.payload_type = PCMU
account.1.codec.1.priority = 1
account.1.codec.1.rtpmap = 0
account.1.codec.2.enable = 0
account.1.codec.2.payload_type = PCMA
account.1.codec.2.priority = 2
account.1.codec.2.rtpmap = 8
account.1.codec.3.enable = 0
account.1.codec.3.payload_type = G723_53
account.1.codec.3.priority =0
account.1.codec.3.rtpmap = 4
account.1.codec.4.enable = 0
account.1.codec.4.payload_type = G723_63
account.1.codec.4.priority = 0
account.1.codec.4.rtpmap = 4
account.1.codec.5.enable = 0
account.1.codec.5.payload_type = G729
account.1.codec.5.priority = 3
account.1.codec.5.rtpmap = 18
account.1.codec.6.enable = 1
account.1.codec.6.payload_type = G722
account.1.codec.6.priority = 4
account.1.codec.6.rtpmap = 9
account.1.codec.7.enable = 0
account.1.codec.7.payload_type = iLBC
account.1.codec.7.priority = 0
account.1.codec.7.rtpmap = 106
account.1.codec.8.enable = 0
account.1.codec.8.payload_type = G726-16
account.1.codec.8.priority = 0
account.1.codec.8.rtpmap = 103
account.1.codec.9.enable = 0
account.1.codec.9.payload_type = G726-24
account.1.codec.9.priority = 0
account.1.codec.9.rtpmap = 104
account.1.codec.10.enable = 0
account.1.codec.10.payload_type = G726-32
account.1.codec.10.priority = 0
account.1.codec.10.rtpmap = 102
account.1.codec.11.enable = 0
account.1.codec.11.payload_type = G726-40
account.1.codec.11.priority = 0
account.1.codec.11.rtpmap = 105
account.1.codec.12.enable = 0
account.1.codec.12.payload_type = GSM
account.1.codec.12.priority = 0
account.1.codec.12.rtpmap = 3
Enable and Disable codecs as you please, and change their priority by changing the priority field. However, you can't change payload_type or rtpmap...