[pjsip] STUN & local call

Benny Prijono bennylp at pjsip.org
Sun Nov 4 06:54:35 EST 2007


Michael Bradley Jr wrote:
> Hi,
> 
> when STUN is enable, i can't make a successful call to an UA in the same Network
> segment.
> 
> Here is call flow
> 
> UA1: pjsua 0.7.0		
> localIP: 192.168.0.23	publicIP: 88.xx.xx.xx
> 
> UA2: Grandstream IP-Phone
> localIP: 192.168.0.32	publicIP: 88.xx.xx.xx
> 
> 
> UA1 ---> UA2 (192.168.0.23 >> 192.168.0.32)
> INVITE sip:xvc at 192.168.0.32 SIP/2.0
> sdp: c:88.xx.xx.xx
> 
> UA2 --> UA1 (192.168.0.32 --> 88.xx.xx.xx)
> 200/2.0/UDP 88.xx.xx.xx:5060
> sdp: c: 192.168.0.32
> 
> 
> UA1 never get the 200 since it's send to the public Address...
> 
> So my question:
> how can i set the IP of the destination of the RTP stream in my initial
> INVITE using pjsua-lib since i can figure out that both UA are behind the same NAT?

Currently you can't. When STUN is used, the public IP will always be 
used in the SDP, regardless of where the destination UA is located. 
But if only the other UA (UA2) is also pjsua, then there shouldn't 
be any problem with media communication since pjsua will switch the 
destination RTP/RTCP address to the source address of the packet.

And when you use pjsua to pjsua, you can enable ICE as well. With 
ICE enabled, it will automatically select which media address to use 
based on ICE negotiation.

cheers,
  -benny


> Thanks,
> Michael






More information about the pjsip mailing list