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