tracing the interface messages on the ats and scscf for analyzing, we find is the ats changed the ptime value (please refer to the attachment). at the p5 is the invite which ats received which has 4 ptime values, and the pcma/8000 ptime value is 20:
but the ptime value of caller side is 20 while called side is 30, that is why the both side can not hear each other.
we can execute 'mod sipcfg: sfpara=support_multi_ptime-1;' on ats to make ats support multiple ptimes to solve this problem. after setting, the problem is solved.
the possible reasons for this issue are:
1. the media ip can not ping.
2. the ptime in sdp is inconsistent.
because this is an inner ims call, both caller and called terminals are in the same network, so the first condition does not hold. so we need to check the ptime parameter.