I am working with Android 4.0.3 SIP Api and was able to make sip call between 2 users on same network. But it is not working if one of the user is behind NAT/Firewall.
Does Android SIP api support the NAT? if no, is there any workaround for it.
If I find my public IP using some other STUN client, Can I provide this to Android SIP api in SipManager or SipProfile class orin any other class? It seems there is no direct way to do it but any workaroound for it?
If NAT is not supported currently, Is there any expectation to have this support in coming Android releases?
Don't use the sip library provided by Android. Use a third party one or write your own. The one comes with Android is very limited and not supported on every device.
Related
As I know there no API to support PPTP or L2TP connections inside android, so I switched to using openconnect (ocserv).
Is there any VpnService or API to connect to ocserv using Android?
I tried the sample app (ics-openconnect) but the source code is deprecated and complicated to integrate.
Please don't suggest to switch using OpenVPN ;))
I need to create a L2TP/IPSec client application android. I read the android VPN documentation. It states some legacy API for that. But I could not find such one. Also provided example app for VPN client does not work since it was built for a very old version. Android has built-in support on this VPN protocol. This answer says no official API. However, I have seen applications which support IPsec directly. how to call it in VpnService class as stated in the official documentation. Also if I need to add custom VPN protocol how to run and get those interfaces from java code?
I am looking for a way to use SIP as signalling protocol for Webrtc in Android. I saw the RestComm open source code and I think it fits my needs. But I already have the infrastructure setup for TURN and SIP server. We use FreeSwitch for that purpose. My Question is, is it possible to use the restcomm android sdk with a infrastructure that is not from restcomm platform? Will it work?
Is there any other library or way that could be used for the purpose? Infrastructure is fixed and couldn't be changed. I need webrtc with SIP or SIP over websocket as the signalling method.
Restcomm Android SDK essentially offers VoIP functionality using SIP for signaling and WebRTC for media, so you shouldn't have any issues integrating with different server components.
Notice though that so far it's tested with Restcomm platform for the most part.
For more information on how to do that you can check Quickstart Guide and also refer to the code for Hello World and Olympus Apps
I am new to android.I want to build a VOIP app.I made an app using SIP but could not test the application as my cell phone does not support SIP.Please suggest me any protocol and Library so that i can design a good and generic app for all version of android.
Advance thanks for all.
Your issue is not SIP itself, it is the built-in API that is not supported by all handsets.
You can use PJSIP, a widely used SIP stack that should supports a wider variety of Android hansets.
I want to Programmatically create vpn profile; somehow i figure out how to access android.net.vpnmanager and android.net.vpn.vpnprofile (they are not part of offical API and are part of hide APIs) but they have no function create new vpn profile. any suggestions?
Using Hidden APIs is not a good idea as there is no guarantee that with an update they will still work as intended, moreover there is no guarantee that they will work in a consistent manner across different devices manufactured by different vendors.
Android 4.0 ICS has a VPN client API but again it allows you to create your own VPN client.
The only reason I can think of as to why you cannot access VPN settings just as you will access wifi settings is the inherent nature of VPN connections. Here is a link to the VPN features in ICS4.0. The first part of the document discuss these risks. You can still write your own client for your app.
http://developer.android.com/reference/android/net/VpnService.html
Another approach can be to use a third party VPN client and check if you can pass any actions to it via an intent. My recommendation if you are targeting ICS only will be to go with the client API as that you know how your code is working.
I thinkt that VPN Android isn't yet on a stable release, there are a couple of other clients besides the built-in there. But there's so many changes between the last versions of Android regarding the VPN and proxy settings. At the beginning there aren't any VPN support at all, then you can only get that rooting your device and now there's a kind of stable native VPN client inside Android but like you noted, lack of documentation in many aspects and other bugs too.
My recommendation would be to wait to create your code after we have a slightly more stable VPN Android and documentation. If you can't or don't want to wait, go forward with that undocumented API, it could change in the future but I don't see any better option right now.
If You are using a phone from Motorola look into using this as it has code to create working vpn connections using L2tp and Pptp
http://developer.motorola.com/docs/Motorola_Enterprise_Device_Management_SDK_Getting_Started/