PJSIP not running in Windows Phone 8 background process - windows-phone-8

I've studied the Windows ChatterBox sample app for Windows Phone 8 and I was able to write a small app to try out PJSIP. However I've run into a problem with the CallInProgressAgent. When creating an outgoing call, I create a VoipPhoneCall object by calling the RequestOutgoingCall method on the VoipCallCoordinator class, thereafter I create the pjsip call by using the pjsua api. It seems pjsip looses all rtp connectivity as soon as I call the RequestOutgoingCall method. My guess is that pjsip is unable to run in a background process initiated by calling the RequestOutgoingCall method. Can anybody shed more light on this situation?

I found this on the pjsip website:
Windows Phone 8 (WP8) support is being added and is still under development on projects/winphone branch. Specific considerations for this platform are:
WP8 governs specific interaction with WP8 GUI and framework that needs to be followed by application in order to make VoIP call work seamlessly on the device. Some lightweight process will be created by WP8 framework in order for background call to work and PJSIP needs to put its background processing in this process’ context. Currently this feature is under development.
The moral of this story is that we cannot use PJSIP in an application until the above background process development is complete.

Related

Communicating between the desktop Apps and Windows store app

I want to share an image file between Desktop application and the windows store application. What is the best way to do the communication between the desktop app and the windows store app.I have tried creating the shared memory between the apps, but i think this is not possible( Reference ).
It's not possible to communicate and share date directly, except launching via protocol handler. As Aniruddha already said sharing via Filesystem (e.g. pictures library) is a convenient way to do it.
If you are on Windows 8.1 and don't have the requirement to put your application in the public Windows Store there's another option:
Windows Runtime Brokered Components. This is quite awesome stuff. It allows you to freely communicate between a Windows Store App and any other application. It is documented here: https://msdn.microsoft.com/en-us/library/windows/apps/dn630195.aspx
The setup isn't exactly easy but it is very powerful. Keep in mind that you won't get this app published into the public Windows store, if you're using brokered components.
I haven't tried Brokered Components on Windows 10 yet, I'm not sure if this is still supported.

How to turn on /off the capabilities through a Windows 8.1 RT app

I am trying to develop an application which will deal with the following hardware and perform the stuff mentioned. I want to know that would it be feasible .
1)
Wi-FI
Scan for wi-fi , provide option to turn it off and on or reboot it .
2)
Bluetooth
Turn it off /on , make it discoverable if its not discoverable.
Apps
Get list of all apps that are installed and provide an option to kill them if they are running or uninstall them. The provision should also list the user the apps which he has sideloaded(need to know which all are the sideloaded apps).
Internet Connectivity
If internet is connected , check whether data is flowing or not.
Battery Status
Find all those apps which are consuming too much battery.Provide the option to uninstall them and lower the screen brightness and decrease the screen lock time
All these have to be implemented in an application that I want to develop.
I would be needing links for answers so that I can provide it in my feasibility report.
thanks
You will need to write a desktop app for this. Most of what you're looking for is completely out for a Windows 8.1 Runtime app. Windows 10 adds functionality for several of the bullet points, but in both versions you'll need a desktop app to manipulate other applications.
Universal Windows apps (aka Windows Runtime apps) run isolated and cannot generally affect the system or other apps. They can make changes only within their own context.
1 and 2: Windows 10 adds the Windows.Devices.Radios.Radio class to address your radio bullets, but this functionality is not available in Windows 8.1 Runtime apps.
3: This cannot be done from a runtime app. A desktop app can enumerate a user's apps with the Windows.Management.Deployment.PackageManager class.
4: You can query connectivity with Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile
5: This is not available in a Windows 8.1 Runtime app. In Windows 10 see Windows.Devices.Power.Battery

track application stack change event wp8.1

I am new to WP8 development, I need to know is there a way to trace the application stack change (check if application comes from deactive (dormant) to active (tombstoned) state) event in wp8.1 same as android gives us. If it is how we can trace that particular event and before opening the app change stack with my own app. Actually I am planing to create an applock application same as android have.
Thanks and Regards
Inderjeet Singh
It is possible to 'track' the state of your app - not the application stack. However it also depends on the platform you are targeting:
for WP8.0 and WP8.1 Silverlight - you have Activated and Deactivated events. For more help - read App activation and deactivation for Windows Phone 8 - there are more cases to be considered.
for WP8.1 WinRT - you have Suspending and Resuming events - for more help read Application lifecycle (Windows Runtime apps) - there are also more cases to be considered here.
I doubt you will be able to exchange the opened app.

Starting with audio in Windows Phone 8

I recently started doing some development in the Windows Phone 8 OS I'm pretty new on this. I was doing some searching about the fact to create an app who play any audio for some specific events/actions.
I was reading the Windows Phone API reference from Windows Phone Dev Center http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff626516%28v=vs.105%29.aspx#BKMK_Win32andCOMAPIforWindowsPhone
But it seems a little confusing to me at first glance and I have the doubt of which one of the following should I use to accomplish my task.
The .Net API for Windows Phone
Win 32 and COM API
... or the Windows Phone Runtime API
Any help would be very appreciate
It really depends what you're trying to do. If you're writing a native application or are interested in cross-compatability with Windows 8 then XAudio2 or the WinRT APIs are definitely the way to go. If you just want to play some infrequent sounds (say, when you pop up a warning dialog) from within a XAML app then I have seen a number of approaches, teh easiest of which is probably just having a MediaElement in your XAML that you use to play the audio.

Windows Phone 8 - Simulate touchscreen events

What would be the best approach to simulate a user tapping on a touchscreen of a Windows Phone 8 device?
One approach I could imagine is to use native code to call the Win32 API functions which control the mouse events. This would assume that touchscreen events are more or less the same as mouse events, and that these API functions are accessible. Does anyone know if this is the case on WP8?
Another approach would be to have something like the Android ADB for the Windows Phone. On Android, one can use ADB to control the device from the PC and also simulate touch screen events (e.g. via Monkeyrunner). I haven't found any information if there is a tool like ADB for Windows Phone 8.
The purpose of finding a solution for this is the integration of Windows Phone 8 devices in an automated testing process.
I found out that there is a DLL file named InputInjection.dll in the System32 folder of the Windows Phone 8 (at least in the simulator image I mounted).
This library contains the following functions:
ApiInjectInitialize
ApiInjectTouchEvent
ApiInjectButtonEvent
ApiInjectEnableExclusive
ApiInjectUninitialize
Doing some research, I found out that there are official ways to simulate touch input for Windows 8 development:
http://social.technet.microsoft.com/wiki/contents/articles/6460.simulating-touch-input-in-windows-8-preview-versions-using-touch-injection-api-en-us.aspx
http://msdn.microsoft.com/library/windows/desktop/hh802896(v=vs.85).aspx
However, the functions used for Windows 8 development are not available on Windows Phone 8. But the functions are named similarly to the ones I found in InputInjection.dll:
InitializeTouchInjection similar to ApiInjectInitialize
InjectTouchInput similar to ApiInjectTouchEvent
(...)
I wasn't able to find any documentation on InputInjection.dll and its functions. These functions also don't appear in the header files of the SDK. Maybe Microsoft uses these functions internally for their own tests during Windows Phone development.
The question is: Is it possible to access this library and call these functions somehow? This would be similar to using "Private APIs" on iOS, I guess. I tried several ways to achieve this with a Windows Phone 8 app using native C++ code, but I had no luck so far (the basic reason is that the apps run sandboxed on Windows Phone). Is there any way to get a binary running on Windows Phone (maybe via a debug bridge or something)?
You can access all those API's From Win32 Service/ Kernel Driver. Include the header file to your source code and Library of injection method it will work