As security is important stuff on mobile system, Android has a permissions system. It's up to users to be really careful with what permission he grant to an application.
Permissions used by ProCaller
Obviously as SIP application has to communicate with your SIP server it requires permission to access the network. Be careful if you have a limited 3G data plan and don't want ProCaller to use your 3G connection to communicate with your server to left "I'm allowed to Use mobile data" deactivated. ProCaller may also do some network traffic when you use balance inquiry feature.
It's useful to allow remote party to hear you ;)
It allow ProCaller to change audio routing. For example routing to earpiece/rear speaker. It also allow ProCaller to put the phone in silent/vibrate mode while in SIP call if an incoming GSM call arrives.
It allows the application to integrate android when an outgoing call is made. And propose you a popup that allows you to choose between a SIP account and GSM. If you disable the feature in ProCaller to "Integrate dialer" it will not process outgoing calls and just leave the standard telephony application manage it.
Even if not properly managed yet it will allow the application to be aware about the fact there is an ongoing/incoming GSM call and so do what should be done for your SIP calls.
It allows the application to know about the fact you are using wifi / mobile data and so act regarding that (register/do not register, allow you to place sip calls or not).
With this permission the app should be able to automatically start. Don't be afraid, it does not mean that the app will be running in background. And by running I mean doing something : many users confuse with an app running and an active process app. Android manage a clever way your phone memory in recent android versions. As consequence an app can be listed by task managers but actually do nothing and so consume no battery. So if ProCaller is properly configured it should not be hurting to register at autostart. It will auto stop itself (auto stop doesn't mean kill but regarding resources consumptions it is the same).
Allow contact integration within the application. Also allow to show contact picture and ringtone when there is an incoming call.
Allows to update SIP presence information. Also allow to write in your favorites a when you set the information to use for the favorite group as SIP data.
This is useful for GSM dialer integration. If call is not treat by ProCaller it forward the request to the GSM dialer. Also be careful, by default ProCaller user interface allow you to use mobile calls directly from its user interface. Check the little icon on the top right ;). There is a setting to prevent the use of GSM calls in ProCaller interface that you can configure in settings.
For android 2.3 sip integration and android 4.0 tel integration in case the application is distributed as part of a ROM distribution. It should normally not be granted by android when distributed as third party application and not be used by the application in this case.
Allow ProCaller to acquire wake locks when in call or when setup to do so when registered. Wake lock allows the application to ask CPU to stay active or to ask screen to stay enlighten. It's used only when necessary and is often configurable.
Allow the application to remove keyguard when the phone is in keylock mode. With this permission ProCaller is able to wakeup the phone and disable keyguard while you are in call or received an incoming call. It will reactivate keyguard when call is finished.
For vibrate ringing mode and for dialer feedback.
For using bluetooth device. There is still known problems to use fully Bluetooth SCO as implementation and what is allowed by manufacturers depends from a device to another.
It is useful for the embedded issue reporting tool. ProCaller use the standard logging system to write logs. To get back logs and send it to developers, it requires the permission to read logs. It's interesting for us to get the entire logs cause we can get some interesting logs about the audio driver of the phone for example. Or logs from network stack. If you don't use embedded issue reporting tool this permission will not be used by the application.
Used to write audio records on SDCard, to write backups and logs.
The application has the capabilities to do video call If you don't install the video plugin, this permission will not be used.
Due to a "bug" in android 4.0 the connection to bluetooth system was requiring this permission (which broke releases 0.03-xx on android 4.0. In order to be compatible with android 4.0 and to be able to connect Bluetooth SCO we need this permission. If you don't use bluetooth the permission will not be used.
This permission is only required to be able to get your own photo/picture and display it in the user interface of the SIP Messaging feature. It's never used elsewhere. Besides this feature only works for android > 3.x (was not possible before). So if you are using android before 3.x you'll not see your own photo in the messaging interface.
Introduced in android 4.1 this permission is used to be able to integrate ProCaller call logs to stock call logs. There is an option in ProCaller settings to disable call log integration if you don't want the application to use this feature.
This is mostly for internal use. ProCaller may provide other application to control SIP calls and messages and also SIP configuration. To restrict rights of other apps to do that. There is these two rights. Besides USE_SIP is also the permission used by the stock SIP application.