No audio when asterisk is used as Sip Client

Hi,

I have installed Asterisk on a Virtual Machine running on a Windows Server.
I created 2 users and used two twinkles on different machine in same network (but different sub-network) to connect to asterisk.
Both are registered and can make call to each other and sound is ok.

Now I have a Siemens Hipath Server in same network. I am registering my asterisk as a client to this Hipath server. Asterisk is successfully connected to Hipath as a client.
When I try to call from twinkle to my mobile number call is made and received successfully but there is no audio.

so it looks like

twinkle (1000) -> windows server (192.168.1.A) -> VM (192.168.131.B) -> Asterisk on VM -> Asterisk as a client to Hipath (192.168.146.C)-> Hipath transfer call to Mobile.

I have written below code in [general] in sip.conf
[general]
register=> : @<ip of hipath server (192.168.146.C)> /
nat=yes
qualify=yes
externip=(192.168.1.A) ;;ip of windows server
localnet = 192.XXX.XXX.XXX/255.255.XXX.XXX ;; replaced XXX with my subnet specific things.

;;created one dummy user
[1000]
type=friend
host=dynamic
secret=XXXXXXX
context = hipath

;;user registered to hipath
[user]
type=friend
qualify=yes
nat=yes
dtmfmode=RFC2833
insecure=port,invite ; This Do The Magic
canreinvite=no
secret=XXXXXX
username=
fromdomain=<ip of hipath server (192.168.146.C)>
host=<ip of hipath server (192.168.146.C)>
disallow=all
allow=ulaw
allow=alaw
context=hipath

rules are written in extension.conf

So in short call is received at mobile phone but there is no audio.

please suggest what is the problem and how to solve it?

You have provided no justification for this (I suspect this is the problem):

externip=(192.168.1.A) ;;ip of windows server

One would expect some of the X’s to be zeroes in both the address an mask:

localnet = 192.XXX.XXX.XXX/255.255.XXX.XXX ;; replaced XXX with my subnet specific things.

This is not magic, it is the blind following the blind. Making the system insecure generally does increase the chances of it appearing to work. Please understand what this does before using it (insecure=port is probably not needed; remotesecret is a better way of solving the problem that insecure=invite tries to solve):

insecure=port,invite ; This Do The Magic

Unless the hipath forces you to register, use static addresses on both sides.

Make sure you have routing for your RTP ports in both directions.