2012-05-19 6 views
5

Ich kodiere IM Presence Informationen in einer meiner Firmen silverlight Anwendungen. Die einzige Lösung, die ich bisher gefunden habe, ist CodePlex (Silverlight.OCS). Es ist "okay", aber es ist sehr veraltet.Kann ich die Microsoft Lync-API für die Kommunikation mit Communicator 2007/2007 R2 verwenden?

Das Lync SDK macht es unglaublich einfach, Anwesenheitsinformationen in silverlight zu erhalten. Leider befinden sich 99% der Benutzer in unserem Netzwerk immer noch auf OFfice Communicator (R2). Daher kann die Verwendung der standardmäßigen Lync-Methode (Steuerelemente: PresenceIndicator ... in xaml) nicht funktionieren.

Also, ich bin gespannt, ob das Lync SDK eine Möglichkeit zur Kommunikation mit Office Communicator enthält?

Wenn ja, wie würde ich a) überprüfen, welcher Client ausgeführt wird und b) dann eine Verbindung zu diesem Client herstellen - sei es Lync oder Communicator. Jede Hilfe wird sehr geschätzt! Last but not least - Ich suche nach C# -Code, wenn überhaupt möglich. Vielen Dank!

+0

Werfen Sie einen Blick auf ['NameCtrl'] (http://msdn.microsoft.com/en-us/library/ms455335) ActiveX-Steuerelement. Sie können Präsenz davon erhalten. –

Antwort

2

Sie können die Lync 2010 SDK gegen Office Communicator verwenden, nur Lync 2010.

Die frühere Inkarnation des SDK ist die Office Communicator Automation API (OCAA). Es ist eine COM-basierte API und funktioniert gegen Communication 2007 und 2007 R2. Es wird immer noch unterstützt ... für jetzt!

Sie können die API here herunterladen. Die MSDN-Zielseite lautet here.

Was immer Präsenzinformationen ... na ja, hoffentlich diese Ihnen helfen könnten (mit Haftungsausschluss, dass ich zu jung bin jede OCS API Arbeit getan zu haben;)

Getting a contact record:

private IMessengerContact FindContact(string userID) 
{ 
    IMessengerContact contact = null; 
    // Try the local contact list first 
    try 
    { 
     contact = (IMessengerContact)communicator.GetContact(userID, ""); 
    } 
    catch 
    { 
     contact = null; 
    } 

    // For a nonlocal contact, try the SIP Provider of Communicator 
    if (contact == null || contact.Status == MISTATUS.MISTATUS_UNKNOWN) 
    { 
     try 
     { 
      contact = 
       (IMessengerContact)communicator.GetContact(userID, 
       communicator.MyServiceId); 
      return contact; 
     } 
     catch 
     { 
      contact = null; 
      return contact; 
     } 
    } 
    else 
    { 
     return contact; 
    } 
} 

Rückgabe des Status eines Kontakts:

IMessengerContact die Schnittstelle definiert eine Eigenschaft Status, das eines aus einer Anzahl von MISTATUS Werte enthält.

Verwandte Themen