none
Lync - Skype for Business - Anruf beenden RRS feed

  • Allgemeine Diskussion

  • Hi,

    ich würde gerne einen Skype Anruf über einen Button in meiner VB.Net Anwendung beenden. Leider komme ich hier nicht weiter. Kann mir da jemand bei helfen?

    Momentaner Code:

    Imports Microsoft.Lync
    Imports Microsoft.Lync.Model
    Imports Microsoft.Lync.Model.Conversation

    Public WithEvents SkypeClient As Microsoft.Lync.Model.Client
    Public WithEvents MeinSkype As Microsoft.Lync.Model.Client = Microsoft.Lync.Model.LyncClient.GetClient()
    Public WithEvents ConManager As Model.Conversation.ConversationManager
    Public WithEvents Automatisch As Model.Extensibility.Automation = Microsoft.Lync.Model.LyncClient.GetAutomation()
    Public WithEvents ConMode As Model.Conversation.ConversationManager

    Private Sub 1_Anruf_Click(sender As Object, e As EventArgs) Handles 1_Anruf.Click

    ?????
    End Sub


    Montag, 2. Dezember 2019 02:00

Alle Antworten

  • Hallo Frank,

    ich hab zwar bislang nie mit Skype und/oder Lync entwickelt aber generell brauchst Du eine Referenz auf etwas, um damit was anzustellen.

    In deinem Fall aller Wahrscheinlichkeit nach die Referenz auf die Conversation Instanz (die solltest Du ja aus der Antwort in deinem anderen Thread bzgl. der Rufannahme haben). Die Conversation Klasse hat eine "End" Methode, die lt. Doku die Konversation für alle Teilnehmer beendet.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport


    Montag, 2. Dezember 2019 09:15
    Moderator
  • Hi Stefan,

    danke für deine schnelle Antwort. Ich habe leider wirklich Probleme dies umzusetzen. 

    Hast du vielleicht einen weiteren Tipp für mich?

    So sieht es im Moment aus:

    Public WithEvents MeinSkype As Microsoft.Lync.Model.Client = Microsoft.Lync.Model.LyncClient.GetClient()

    Public WithEvents DelCall As Model.Conversation.Conversation (= ???)

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    DelCall.End()
    End Sub

    Hier bekomme ich die Meldung wenn ich während eines laufenden Anrufes den Button klicke:

    .DelCall.get hat Nothing zurückgegeben

    Danke für die tolle Hilfe :)

    Montag, 2. Dezember 2019 10:29
  • Hallo Frank,

    grundsätzlich wäre es wahrscheinlich erstmal sinnvoll, wenn Du dich mit Programmierung an sich, insbesondere mit objektorientierter Programmierung auseinandersetzt. Da scheinen die Grundlagen noch komplett zu fehlen.

    Deinem anderen Thread entnehme ich, dass Du es geschafft hast, den Anruf entgegenzunehmen. In dem dortigen Ereignis wird ja eine Instanz der Conversation Klasse übergeben. Diese musst Du dir irgendwo so zwischenspeichern, dass Du in deiner Beendigungsmethode darauf zugreifen kannst und dann zum gewünschten Zeitpunkt die End Methode der Conversation Instanz aufrufen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Montag, 2. Dezember 2019 11:47
    Moderator
  • Hi,

    ich habe es nun so hinbekommen einen Anruf zu starten. Das muss doch irgendwie ebenso simpel sein, einen Anruf zu beenden. Vielleicht hat ja doch noch einer eine Idee?

    	Dim Automatisch As Model.Extensibility.Automation = Microsoft.Lync.Model.LyncClient.GetAutomation()
    		Dim participantUri = New List(Of String) From {
    		"sip:" & My.Settings.SIP1
    	}
    		Automatisch.EndStartConversation(Automatisch.BeginStartConversation(AutomationModalities.Audio, participantUri, Nothing, Nothing, Nothing))
    

    Danke Dir Stefan. Ich hoffe auf eine einfache Lösung :)

    Montag, 2. Dezember 2019 23:34
  • Hallo Frank,

    Hast Du das von Stefan geschilderte Verfahren befolgt? Ich bin auf einen Beispielcode gestoßen, der Dir vielleicht weiterhelfen wird. Es werden nur die untergeordneten audiovisuellen Modalities (modality is AVModality) herausgenommen, anschließend die BeginDisconnect-Methode aufgerufen und EndDisconnect als asynchronen Rückruf (zweiten Parameter) übergeben. Sieh Dir dazu diesen Thread an:
    Lync SDK BeginSendMessage AsyncCallback

    Auf diese Modalities kann mit einer Instanz der Conversation-Klasse (Conversation.Modalities-Eigenschaft) zugegriffen werden, deren Speicherung Stefan Dir bereits empfohlen hat.

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Freitag, 6. Dezember 2019 07:58
    Moderator