ICCMocx Beschreibung:

Einsatz:

ICCMocx fragt die CAPI ab, ob ein eingehender Ruf auf dem ISDN Bus vorliegt. Ist dies der Fall, wird ein Interrupt erzeugt und die Subroutine Klingelanfang angesprungen. Hier kann man die entsprechenden Parameter des Anrufes abfragen. Hier z.B. in Visual BASIC:

    Private Sub ICCMocx1_KlingelAnfang()
    Anrufer1.Text = ICCMocx1.Anrufer
    Gerufen1.Text = ICCMocx1.Gerufen
    Kanal1.Text = ICCMocx1.Kanal
    Rufstatus1.Text = "Klingelt"
    End Sub

Ebenso wird eine Routine angesprungen, wenn das Klingeln beendet ist. Hier kann man abfragen, was mit dem Anruf geschehen ist. Beispiel:

    Private Sub ICCMocx1_KlingelEnde()
       Select Case ICCMocx1.RufStatus
       Case "0"
           Rufstatus1.Text = "Abgewiesen"
       Case "13060"
           Rufstatus1.Text = "PC Anwendung"
       Case "13456"
           Rufstatus1.Text = "Aufgelegt"
       Case "13466"
           Rufstatus1.Text = "Angenommen"
       Case "13471"
           Rufstatus1.Text = "Umgeleitet"
       Case "13542"
           Rufstatus1.Text = "Ausgelöst"
       Case "13059"
           Rufstatus1.Text = "Kein Check (Alert war aus)"
       Case Else
           Rufstatus1.Text = ICCMocx1.RufStatus
       End Select
     
    End Sub

Parameter

  • Parameter zum Setzen:
    • Beispiel zum Setzen der Parameter:

      Private Sub Form_Activate()
         ICCMocx1.Monitor = Ein
         ICCMocx1.Registrierung = 1 'hier den Registrierungscode einsetzen
         ICCMocx2.Monitor = Ein
         ICCMocx2.Registrierung = 1 'hier den Registrierungscode einsetzen
      End Sub

    • .Monitor Werte: Ein, Aus :dient zum Ein und Ausschalten der Überwachung
    • .Alert Werte: Ein, Aus: setzt den Monitor auf Rufhandling Überwachung.
    • (Achtung für den Anrufer klingelt es auch wenn am angerufenen Apparat
    • gesprochen wird).
    • .Reject Werte: Ein, Aus: Wenn bei einem eingehenden Ruf der Wert auf Ein gesetzt wird, nimmt das Programm den Ruf an und legt schnell wieder auf
    • .Registrierung Werte: Registrierungscode: Sie erhalten den Code gegen eine Gebühr von € 5,-. Ohne den richtigen Code werden Sie nach jedem Anruf an die Registrierung erinnert.
    • CIP Mask: Werte: verschiedene: Filter für Art des Anrufes
    • Alle anderen Parameter können abgerufen werden und sollten selbsterklärend sein. Sobald ein Anruf eingeht, werden diese eingetragen.
  • Parameter zum Abfragen: (Beispiele unter 1.)
    • Anrufer: Die Nummer des Anrufers
    • Gerufen: Die MSN des Angerufenen
    • Rufstatus:
      Hier gibt es nach Anrufbeendigung verschiedene Möglichkeit:
      • Anrufer hat aufgelegt (Code 13456)
      • Angerufener hat Gespräch angenommen (Code 13466)
      • Anruf wurde umgeleitet (Code 13471)
      • Ausgelöst d.h. es hat sich 'totgeklingelt' (Code 13542)
    • Es gibt noch einige andere Codes die selten vorkommen. Der Status wird Sinnvollerweise in der Routine Klingelende abgefragt. Man erhält diese Information aber nur, wenn Alert eingeschaltet ist (Default). Dann hat der Anrufer aber immer ein Freizeichen, auch wenn die der angerufenen Nummer zugeordneten Telefone am ISDN Bus besetzt sind.
    • PLCI ist eine Nummer, die für diesen Anruf vergeben wird. Man kann diese verwenden, um zwei zur gleichen Zeit angehenden Anrufe auseinander halten zu können. Im iccmocx kann man auch 2 ocx in eine Form bringen. Dann werden gleichzeitige Anrufe getrennt von jedem ocx bearbeitet.
    • CIP ist eine Bitmaske. Mit dieser kann man definieren, welche Art von Anrufe erkannt werden sollen. (z.B. ISDN, Analog, FAX usw.) Voraussetzung ist, daß die Vermittlungsstelle die Kennung hierfür übermittelt. Nachfolgend die Codiertabelle.
    • Bits 0-31
      • 0: any match (geht nicht bei allen CAPI)
      • 1:speech
      • 2: unrestricted digital information
      • 3 restricted digital information
      • 4:3.1 kHz audio
      • 5: 7 Khz audio
      • 6: video
      • 7:packet mode
      • 8:56 kBit/s rate adaptation
      • 9: unrestricted digital information with tones/announcements
      • 10-15: reserved
      • 16: telephony
      • 17: fax group 2/3
      • 18: fax group 4 class 1
      • 19: Teletex service (basic and mixed), fax group 4 class 2
      • 20: Teletex service (basic and processable)
      • 21: Videotex
      • 23: Telex
      • 24: message handling according x.400
      • 25: OSI applications according x.200
      • 26: 7kh7 telephony
      • 27: Video Telephony F.721, first connection
      • 28: Video Telephony F.721, second connection
      • 29-31: reserved
    • Numbering Plan: Gibt an um welche Art es sich handelt und hier erhalte ich auch nur ISDN oder unknown als Meldung von der CAPI. Das liegt wohl daran, dass für andere Dienste keine spezielle Kennung übertragen wird.
    • Presentation indicator: Ob die Nummer unterdrückt ist oder nicht.
    • ScreeningIndicator: Wenn einer mit einer falschen MSN telefoniert, dann wird das korrigiert. Man erkennt dann im Screeningindicator, was geschehen ist.
  • Einbindung in die Programmierung:
    • ICCMocx kann wie jede ActiveX Komponente in Programmiersprachen wie z.B. Visual BASIC oder VBA (Microsoft Access, MS Word, MS Excel) eingebunden werden.
    • ICCMocx muss hierzu entsprechend der Beschreibung von Microsoft registriert werden.
    • Die abgefragten Parameter (wie Rufnummer) können im eigenen Programm beliebig verwendet werden. Z.B. kann eine Rufdatenbank eingerichtet werden. Dazu sind dann allerdings entsprechende Programmierkenntnisse in VBA oder VB erforderlich.
    • Meine Unterstützung kann sich hier nur auf die Beispiele auf meiner Home Page beschränken.
    • Wer keine Programmierkenntnisse besitzt, kann mein ICCM verwenden (erfordert eigene Registrierung), indem alle Funktionen von ICCMocx angewendet werden.
  • Einbindung von OCX:
    • Excel:
      Wenn Sie eine neue Gruppe von ActiveX-Steuerelementen installieren, registriert das Setup-Programm für die ActiveX-Steuerelemente normalerweise jedes Steuerelement und macht es damit für die Verwendung in Microsoft Excel verfügbar. ActiveX-Steuerelemente werden entweder in Steuerelement-Dateien gespeichert, die die Dateinamenerweiterung .ocx besitzen, oder in Dynamic Link Libraries, die die Dateinamenerweiterung .dll besitzen. Wenn Sie in der Steuerelement-Toolbox auf Weitere Steuerelemente   klicken, und das gewünschte Steuerelement wird nicht in der Liste angezeigt, müssen Sie das Steuerelement registrieren. Klicken Sie in der Steuerelement-Toolbox auf Weitere Steuerelemente . Klicken Sie am Ende der Liste auf Benutzer-Steuerelement registrieren. Suchen Sie im Dialogfeld Benutzer-Steuerelement registrieren den Ordner, der die Steuerelement-Dateien oder Dynamic Link Libraries für die Steuerelemente enthält. Wählen Sie das Steuerelement aus, das registriert werden soll, und klicken Sie dann auf OK.
    • Access:
      Access starten, ICCMocx.ocx registrieren (Extras, Active X steuerelemente .../ Registrieren) drücken und den ICCMocx.ocx im Dateisystem finden. (sinnvollerweise ist er in \Windows\System kopiert) und anklicken. Eine neue Form erstellen (oder mein iccmx.mdb Beispiel laden). Ggf. einen ICCMocx.ocx in die Form bringen (Die Toolbox hat eine Schaltfläche für weitere Steuerelemente. Wenn Sie diese anklicken, erscheinen alle registrierten Active X Komponenten). ICCMControl.ICCMocx anklicken und dann in der Form ein kleines Kästchen ziehen. Wenn ein ICCMocx in der Form ist, diesen mit der rechten Maustaste anklicken und dann Eigenschaften auswählen. In Eigenschaften die Registrierkarte 'Andere' auswählen. Dort finden Sie dann u.a. die ICCM. Wenn Sie mein iccmx.mdb Beispiel verwenden, dann muß der Name des iccmControls auf iccm geändert werden (rechte maus, Eigenschaften). Im Objektkatalog von MS-Access finden Sie auch den ICCMControl und darunter die Klasse ICCMocx und hierfür die Elemente. Zu einigen Elementen sind Erklärungen vorhanden.