I am using the sipXtapi library in a user agent. When running behind NAT (with STUN and rport enabled)and register with ser 0.9.6(basic configuration).It appears that the library detects the external address correctly and registered successful. But I see in the
Register message, in Via and Contact field some strange things, hence when ser send Invite message for Calling, the user agent do not received Invite message because the port ser send Invite to user agent do not match with the port user agent listen to.
1. sipxtapi(sipxEzphone or CrossTalk): Received stun message from stun server (Vovida stun server): Attribute: MAPPED-ADDRESS Attribute Type: MAPPED-ADDRESS (0x0001) Port: 28766 IP: 222.255.15.252 (222.255.15.252)
Send Register message to ser: Via: SIP/2.0/UDP 222.255.15.252:28766;branch=z9hG4bK-bdec6870a8f0;rport
2. Ser reply trying message: Via: SIP/2.0/UDP 222.255.15.252:28766 ;branch=z9hG4bK-bdec6870a8f0;rport=37171 Warning: 392 xxx.xxx.xxx.xxx:5060 "Noisy feedback tells: pid=29560 req_src_ip= 222.255.15.252 req_src_port=37171 in_uri=sip:xxx.xxx.xxx.xxx out_uri=sip: xxx.xxx.xxx.xxx via_cnt==1"
3. sipxtapi send Register message with Authorization: Via: SIP/2.0/UDP 222.255.15.252:37171;branch=z9hG4bK-16af3dfa110f;rport
As above, ser will send Invite or Bye message to user agent in 222.255.15.252:37171 , of course user agent using sipxtapi can not receive these message. Can I make the change in ser config? plz help me. Thanks in advance, Phan Duc