Pregunta

Estoy trabajando en una acumulación sitio web utilizando ASP.NET y C # para intranet.So de mi empresa es posible integrar el Microsoft Office Communicator 2007 en la página ASP.NET. es decir, el sitio debe ser capaz de proporcionar el estado actual (al tocar un botón, ocupado, fuera de línea) de todos los contactos y cuando un usuario hace clic en el nombre de usuario, la ventana de chat se abrirá.

Otros consejos

Suponiendo que la máquina cliente está ejecutando Communicator, Office y IE, con mucho, la forma más sencilla es utilizar el NameCtrl de script del lado del cliente - el ejemplo a continuación deben da los conceptos básicos. Esto también le dará más bang-para-dinero en términos de funcionalidad. Pase el ratón sobre el texto "su contacto" para ver el menú pop-up persona.

Para una solución del mundo real, que había sólo hay que poner en práctica una imagen que cambia en función del estado de presencia que es retornada (es decir, una burbuja presencia de visualización uno al lado del nombre de los usuarios), y una colección de SIP URIs a las imágenes, para asegurarse de que puede asignar un cambio de estado de entrada a la imagen relevante.

Es importante tener en cuenta que la solución Ajax / CWA mencionado en la otra respuesta más probable es que no funciona con Lync Server (creo Communicator Web Access no es más), de modo que había necesidad de cambiar la solución si las actualizaciones de la compañía a Lync. He probado a continuación la solución, y funciona con el servidor RC Lync.

<script>

var sipUri = "your.contact@your.domain.com";

var nameCtrl = new ActiveXObject('Name.NameCtrl.1');
if (nameCtrl.PresenceEnabled)
{
  nameCtrl.OnStatusChange = onStatusChange;
  nameCtrl.GetStatus(sipUri, "1");
}


function onStatusChange(name, status, id)
{
  // This function is fired when the contacts presence status changes.
  // In a real world solution, you would want to update an image to reflect the users presence
  alert(name + ", " + status + ", " + id);
}

function ShowOOUI()
{
  nameCtrl.ShowOOUI(sipUri, 0, 15, 15);
}

function HideOOUI()
{
  nameCtrl.HideOOUI();
}

</script>

<span onmouseover="ShowOOUI()" onmouseout="HideOOUI()" style="border-style:solid">Your Contact</span>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top