Why only one-way voice?

Hi,

when calling, the called can hear the caller, but NOT vice versa.

I’ve analyzed the log and was able to find the problem.
I found that the 180_Ringing message was not sent back to the caller, so caller won’t know that call is established, and hence can not hear a ringing tone.

i depict it like this:(“CSCF” in the figure is a proxy where the phone is connected to the network. )

but with a SIP phone which sends “rport” parameter in the Via header(RFC3581), everything works ok, like this:

I have tried to modified some NAT related parameters in both client and Asterisk, but the problem persists.

could anyone help ? Thank you very much!

I’ve revised this post so that it looks easier to read… hope somebody can reply me…