2. Java version:
3. OS type and the version: Windows 2008 Server
4. UA (phone), gateway or other hardware/software involved: no idea, probably self made
5. Your problem:
Brekeke sip server have 2 NICs for public static ip and private ip. UA clients reside on public ip.
UA (10.199.81.69) --- internet --- (202.73.xx.xx) bkk sip serv (192.168.164.47) --- (192.168.164.91) tbsipsrv
202.73.xx.xx is bkk sip serv public static ip (goes to internet)
192.168.164.47 is bkk sip server private ip (local)
Both ip's can be seen on status page.
tbsipsrv is another sip server (not Brekeke), on same local private network (192.168.164.91)
UA (10.199.81.69) on public (internet) can register to bkk sip serv through 202.73.xx.xx
Target call: from UA ==> bkk sip serv ==> tbsipsvr
Code: Select all
UA bkk sip serv
(10.199.81.69) (202.70.xx.xx)
INVITE =>
<= 100 trying
<= 180 ringing
<= 200 OK
put private ip in contact or record-route header.
Contact: sip:08881852033@192.168.164.47:5060
Why bkk sip serv use private ip for these replies eventhough call came to 202.70.xx.xx (public). This make UA send to wrong ip for 200 OK acknowledge (it will send ACK to 192.168.164.47 instead of 202.70.xx.xx)
Thanks