The invention discloses a self-adaptive AMR
code rate adjusting method based on network states. The method comprises following steps of 1, determining an initial code mode for a call sender; 2, writing a rate corresponding to the initial code mode of the sender in an RTP packet; 3, transmitting the RTP packet to a
receiver; calculating the packet lost and
delay parameter of the sender by the
receiver; 4, judging whether the current initial
code rate of the sender is applicable to the current network state of the
receiver or not by the receiver according to the packet lost and the
delay parameter; if the current initial
code rate of the sender is applicable to the current network state of the receiver, keeping the current code rate; otherwise, changing a CMR (Codec Mode Request) value according to a rate adjusting strategy; 5, writing the rate corresponding to the adjusted CMR value in the RTP packet by the receiver; transmitting to the sender; calculating the packet lost and
delay parameter by the sender in a similar way; judging according to the adjusting strategy; changing the CMR value; and adjusting the AMR code rate in real time. The method has the advantages that through real time adjustment of the code rate, constant changes of the
network conditions are adapted, and therefore, the good call experience of a user is ensured.