For a while I have been playing with SipDemo in the Android 2.3 SDK.
The documentation on the Android developer page is well written, but that's not much. This does not say anything about IP addresses, ports, NAT, and STUN. I know how this stuff should work, but it doesn't say how the Android SIP API handles it. Or does it generally handle NAT ...
Here, someone mentioned that the API performs some tests for the public IP address and port, but the first time I read it:
http://code.google.com/p/android/issues/detail?id=14043&can=1&q = sip% 20ip & colspec = ID% 20Type% 20Status% 20Owner% 20Summary% 20Stars
So I'm not sure if this is true. At least it didn't work for me.
But now to my problem: When I deploy SipDemo as it is, either on my device connected to WiFi or an emulator, specify my credentials (I know that they work with SipDroid and other SIP applications) SipDemo displays “registration failed”. I sniffed a bit and found out the packets sent to SipServer all include devices or local IP emulators, not NAT NAT alone. Something like Via: SIP / 2.0 / UDP 192.168.0.106►3230 The server correctly answers that the IP addresses RFC1918 not permitted.
I added the STUN test to SipDemo and successfully retrieved my public IP and port. But I cannot find a way to pass this to my created SipProfile or SipManager.
:
- - , SIP-API
NAT?
API NAT?
STUN SIP API?
SipDroid SIP,
API.