In relation to the presence, IM and VoIP integration between Jitsi and MS Outlook, writes a few additional Windows registry entries which are supposed to be taken into account by Outlook when Exchange is in use as well. Additionally, tries to comply with the MS Lync Server 2010 presence color convention e.g. uses red for the 'On the phone' presence status.

cusax-fix
Lyubomir Marinov 14 years ago
parent ba0e82158d
commit fc72e5e429

@ -205,15 +205,19 @@ MessengerContact::get_PresenceProperties(VARIANT *pvPresenceProperties)
switch (status)
{
case MISTATUS_AWAY:
case MISTATUS_OUT_OF_OFFICE:
availability = 15000;
break;
case MISTATUS_BE_RIGHT_BACK:
availability = 12000;
break;
case MISTATUS_BUSY:
case MISTATUS_IN_A_CONFERENCE:
case MISTATUS_ON_THE_PHONE:
availability = 6000;
break;
case MISTATUS_DO_NOT_DISTURB:
case MISTATUS_ALLOW_URGENT_INTERRUPTIONS:
availability = 9000;
break;
case MISTATUS_INVISIBLE:

@ -493,11 +493,36 @@ DWORD OutOfProcessServer::setIMProvidersCommunicatorUpAndRunning(DWORD dw)
if (dw)
{
lastError
= regCreateKeyAndSetValue(
_T("Software\\Microsoft\\Office\\12.0\\Common\\PersonaMenu"),
_T("RTCApplication"),
3);
/*
* Testing on various machines/setups has shown that the following may
* or may not succeed without affecting the presence integration so just
* try them and then go on with the rest regardless of their success.
*/
lastError = ERROR_SUCCESS;
regCreateKeyAndSetValue(
_T("Software\\Microsoft\\Office\\11.0\\Common\\PersonaMenu"),
_T("RTCApplication"),
3);
regCreateKeyAndSetValue(
_T("Software\\Microsoft\\Office\\12.0\\Common\\PersonaMenu"),
_T("RTCApplication"),
3);
regCreateKeyAndSetValue(
_T("Software\\Microsoft\\Office\\11.0\\Common\\PersonaMenu"),
_T("QueryServiceForStatus"),
2);
regCreateKeyAndSetValue(
_T("Software\\Microsoft\\Office\\12.0\\Common\\PersonaMenu"),
_T("QueryServiceForStatus"),
2);
regCreateKeyAndSetValue(
_T("Software\\Microsoft\\Office\\11.0\\Outlook\\IM"),
_T("SetOnlineStatusLevel"),
3);
regCreateKeyAndSetValue(
_T("Software\\Microsoft\\Office\\12.0\\Outlook\\IM"),
_T("SetOnlineStatusLevel"),
3);
}
else
lastError = ERROR_SUCCESS;

Loading…
Cancel
Save