Howto:PresenceHeartbeat - MediaRunway - Partner App

From innovaphone wiki
Jump to navigation Jump to search
Mediarunway company logo 200.png

Product Name

MediaRunway Presence Heartbeat

Certification Status

Referralprod.PNGThis App is listed due to a customer testimonial. No tests have been conducted by innovaphone.

Testing of this product has been finalized April 2023.


Computer Telephony Integration and Unified Messaging / Unified Communication


Mediarunway company logo 150 2.png

MediaRunway is an ITC enterprise that provides its customers with contemporary IT services in all areas - Your business, our solution.

MediaRunway - About us



The Presence Heartbeat myApps App could change the presence state depending on the MS Windows login state. So the app could automatically change the presence color and the presence text with a preset when the Windows screen lock is activated and unlocked again, as well as when Windows logs on and logs off/ shutdown. This works on the local Windows PC as well as in a Windows Terminal session. But also other triggers are possible, for example from Systems like macOS.

MediaRunway - About this application


The Presence Heartbeat App has three parts and needs an external trigger:

1. App service, which listen on a specific URL for HTTPS POST input

2. Admin app where you could configure how to react to a specific for example Windows State (Login/Logoff). In the Admin App you could also do the licensing

3. User app, where a user could manually click on a button to set his/her presence state to the configured one in the admin app. If the user didn´t need the app, you could decide to don´t deliver this app to the users

Because the myApps client has no knowledge of the actual MS Windows state of a user, an external trigger is needed. Here are two examples to do a trigger.

1. With curl you could do a group policy in the MS Windows Active Directory which send the specific curl command to the listening app service url (1) for Login / Shutdown

2. To react to the MS Windows lock screen states you can get a mini .exe file from MediaRunway

How to configure these two examples is explained in the "Configuration" section of this wiki article.


Licensing: One license per user with any number of devices for one instance of the app. No floating licensing, only the users who got a configured license have access. For licensing and test licensing please contact

  • Example: "Hello MediaRunway, we would like to purchase the Presence Heartbeat app. Here is our authentication key 1113335557, we have only one app instance. A one year license for 10 users would fullfill our needs. Please send us the license key as fast as possible. Best reagards"

Enter license key and activate user license: Simply enter the license key that you received from us and press "Confirm". After that, you should see the valid date of your license and the number of available user licenses. Next to the desired user name, activate or deactivate the user's license.


The webserver of the innovaphone myApps app platform must be reachable from the clients. That should be ready with the normal installation procedure of an innovaphone V13 system. But two things we want to highlight:

1. we recommend that the app platform is reachable by DNS, then only ip

2. we recommend that the app platform is reachable from WAN by https through reverse proxy with a certificate which could correct trusted by the windows client (the sender of the trigger) (so please do not use a self signed certificate which is not known by the client)

If the trigger should be done by curl, that curl works on the system (for example the windows client or windows terminalserver) which should do the trigger. The newer versions of Windows have curl build in, but on older versions you have to install curl.


Compatible innovaphone firmware versions

  • MediaRunway PresenceHeartbeat 1.0 (132xxx sr18, 133xxx final)
    • innovaphone V13r2, V13r3, V14r1

Application versions used for interop testing

  • MediaRunway PresenceHeartbeat 1.0 (132xxx sr18, 133xxx final)
    • innovaphone IPVA V13r2sr18
    • innovaphone IPVA V13r3final


Admin app configuration

Here you could see the functions of the admin app, which shows you the url and the api key, and what you could configure in the admin app: PresenceHeartbeat-AdminApp.png

For security reasons, we recommend to refresh the api key regularly with the button at the end of the api key line. NOTE that if you refresh the api key in the admin app, that the api key must then also be exchanged in the configured triggers on the client side!

If an IP address is displayed in the URL instead of DNS, the innovahone system is not fully configured for DNS.

You can set the presence state/color and an individual presence text for the two logout situations. If the users login, the presence state changed to "available" (green) and no presence text.

Why you could decide to not override specific presence states? Because if a user has set her/his presence state for example to "away" with the presence text "holiday", then you maybe don´t want to override this setting from the user if he shutdown his computer. But if the user has set "dnd" with text "online meeting", then you want to override the presence state of this user if he shutdown the computer.

For licensing please read the topic "Licensing" in this wiki article. If you have got a license and activate it here in the admin app, you can search for users and license the user with the switch at the end of the showed user list entry. If the switch is green, then the user is licensed. For licensing you didn´t need to click on a save button or something else. Each switch change do directly the licensing of a user.

User app

Here you could see the functions of the user app, with the buttons to set manually the configured presence states in the admin app:


The user doesn´t need that app for the "automatic" setting of the presence state from an external trigger. So you could decide to rollout the user app to the users or not.

Trigger configuration

To change the presence state of a user for example automatically if the user shutdown the computer, then you have to configure an "external trigger". This trigger sends a https post with parameters to the app service url (showed in the admin app). And if all parameters are send correct and in the right order the app checkes is the user licensed and then set the in the admin app predefined presence state for that user.

For triggering the app service url you could use a curl command. In the newer windows versions curl is build in, for older windows versions you have to install curl.

Windows logout/ shutdown

Explanation how to create a trigger for Windows logout and shutdown the windows computer with an Windows Active Directory GPO:

1. do a batch script 1.1 open an editor 1.2 write the curl command:

curl -X POST -d "apiKey=theLongApiKeyShowedInThePresenceHeartbeatAdminApp" -d "winUsername=%username%" -d "winEvent=Logout" https://showedURLinThePresenceHeartbeatAdminApp

1.3 save it with the file extension .bat on a net folder where all the users have read access only 2. open the Active Directory GPO-Editor and Navigate to Userconfiguration> Windows-Settings> Scripts 3. double click in the right window frame on the list entry logout 4. in the new window click on "add..." 5. in the next new window navigate with the button at the end of the scriptname line to the here in 1.3 created .bat file 6. save it with a click on ok, in the two open windows

Here you could see an example of that configuration in the GPO-Editor:


Windows login

If you want to do the same for the login, then do the steps explained above in "Windows logout/ shutdown", but save the .bat file with the parameter "winEvent=SessionUnlock" instead of "winEvent=Logout". (Note: This Windows Login configuration is not needed, if you use the .exe file for lockscreen)

Windows lockscreen

To trigger Windows lockscreen events (for example when the lockscreen after X Minutes will be shown) MediaRunway has build the MR-StatusEvent.exe. For that file you can ask MediaRunway when you ask for the presence heartbeat app license or at any other time after getting a license for the presence heartbeat app. How to contact MediaRunway is described in the licensing topic of this wiki article or at the end of this wiki article. The .exe file needs also a .dat and batch script file with an curl command. With the .exe file you will also get these two files with example command. We recommend to put the file in a net folder where each user have only read access to or in a read only local folder on each client. And then create a shortcut for the .exe in the windows autostart.

There is a personal autostart folder: C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

and there is a general autostart folder: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

When you want to open these folders, then you can do [Windows-Key]+[R] and then input the following command in the new window input field:

for the personal folder: shell:startup

for the general folder: shell:common startup

Note: it was testet with the personal autostart folder not with the general folder. If you have test it with the general folder, please send MediaRunway a feedback.


The steps of the installation process are the same as described in this article "Callback - Install App from App Store" only with different names. You have to install the app, add an app instance, and the app objects.


MediaRunway GmbH & Co. KG
Venloer Str. 8
D-41569 Rommerskirchen
Tel: +49 2183 80628-0

For any questions please refer to our contact page.