Quick-Tipp: Automatische Telefonwahl über das Softphone "Phoner" aus IBM Notes heraus - eine einfache Anleitung

von Bernd Garrels,
assono GmbH, Standort Kiel,

Phoner  ist ein Freeware-Programm von Heiko Sommerfeldt, das Gesprächsverbindungen in das Festnetz, zu Mobiltelefonen und zu VoIP-Gegenstellen ermöglicht. Das Programm kann als Softphone für analoge Teilnehmeranschlüsse, digitale ISDN-Teilnehmeranschlussleitungen oder für IP-Telefonie auf stationären und mobilen Computern benutzt werden.

Prinzipiell ist es möglich für den Phoner in einen Lotusscript-Script ein OLE Automation object "Phoner.CPhoner" anzulegen, diesem eine Nummer zu übergeben und eine Telefonruf zu starten. Dieses brachte uns auf die Idee die Widgets- und Live-Text-Funktionalität des Standard-Notes-Clients zu verwenden, um über Livetext erkannte Telefonnummern direkt für einen Telefon-Call zu nutzen.

 
Beschreibung der Lösung

Die Erstellung eines Notes-Widget aus einer Maske ist in der Notes-Hilfe beschrieben. Über ein solches Widget lässt sich ein Feld einer sich öffnende Notes-Maske mit der über Livetext identifizierte Telefonnummer befüllen. Prinzipiell muss abgewartet werden, bis das Widget das Feld befüllt hat. Dieses haben wir dann wie folgt gelöst:

Dim uidoc As NotesUIDocument
Dim callTimer As NotesTimer

Sub Postopen(Source As Notesuidocument)
        Set uidoc = source
        ' erstelle und initialisiere Timer
        Set callTimer = New NotesTimer(1, "rufe Telefonnummer an")
        On Event Alarm From callTimer Call CallTimerHandler
End Sub

Sub CallTimerHandler(Source As NotesTimer)
        Dim telefonnummer As String
        ' nur einmal ausführen, deshalb Timer gleich deaktivieren
        source.Enabled = False
        ' Telefonnummer normalisieren
        telefonnummer = NormalisiereTelefonnummer(uidoc.FieldGetText("Telefonnummer"))
        Call uidoc.FieldSetText("Telefonnummer", telefonnummer)
        If telefonnummer <> "" Then
                Call RufeTelefonnummerAn(telefonnummer)
                ' und Dokument wieder schließen
                Call uidoc.Document.ReplaceItemValue("SaveOptions", "0")
                Call uidoc.Close
        End If
End Sub

Function NormalisiereTelefonnummer(Byval telefonnummer As String) As String
        ' entferne Leerzeichen, /, -, ( und )
        telefonnummer = Replace(telefonnummer, Split(" , /, -, (, )", ", "), "")
        ' entferne die 0 nach der Landesvorwahl (zumindest erst einmal für die deutsche Landesvorwahl)
        If Left$(telefonnummer, 3) = "+49" And Left$(telefonnummer, 4) = "+490" Then
                telefonnummer = "+49" & Mid$(telefonnummer, 5, 100)
        End If
        NormalisiereTelefonnummer = telefonnummer
End Function

Sub RufeTelefonnummerAn(telefonnummer As String)
        Dim Phoner As Variant
        If telefonnummer <> "" Then
                Set Phoner = CreateObject("Phoner.CPhoner")
                Phoner.MakeCall(telefonnummer)
        End If
End Sub

Und siehe da, der Phoner wählt die Nummer aus dem Livetext an:

A picture named M2

Hinweis: Der Phoner muss dazu schon vorher gestartet worden sein.

Fachbeitrag Tipp Entwicklung

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie wollen eine individuelle Lösung? Kontaktieren Sie uns

Weitere interessante Artikel

IBM Cognos Analytics 11.0.9 (R9)

IBM Cognos Analytics 11.0.9 (R9)

Erst Mitte November hatten wir über Neuerung in der Version 11.0.8 gebloggt. Knapp ein Monat später veröffentlicht IBM die Version 11.0.9 … Mehr

von
Filip Meyer
,

Sie haben Fragen? Wir sind für Sie da.

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Sie können uns auf verschiedene Weisen für eine unverbindliche Erstberatung erreichen:

assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 407
Techn. Hotline: +49 4307 900 403
Vertrieb: +49 4307 900 402

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de