2008-09-17 8 views
0

Kennt jemand eine 'Standard' Art und Weise mit einem Telefoniesystem zu Schnittstelle (man denkt Cisco CCM) aus einem C/C++ app in * nichts? Ich habe MS TAPI in der Vergangenheit verwendet, aber das ist nur Windows und möchte nicht die jTAPI (Java) Route gehen, die die einzige Option auf dem Gesicht davon zu sein scheint.Interfacing mit Telefoniesystemen von * nichts

Ich möchte das Telefonsystem zur Protokollierung überwachen (so ich weiß, wann Benutzer Anrufe gemacht haben, empfangene Anrufe, etc.). TAPI ist gut in dieser Art von Sache, aber ich kann nicht die erste Person sein, die etwas ähnliches ohne einen Windows-Server tun möchte.

Bitte beachte, dass ich mit bestehenden TK-Anlagen integrieren muß - vor allem Cisco CCM und Nortel BCM.

+0

Check out [Asterisk] (http://www.asterisk.org/). – Ferruccio

Antwort

1

Ich habe Erfahrung mit zwei Telefonie-Standards TAPI und CSTA, soweit ich weiß, gibt es keine solche Vereinbarung zwischen Anbietern (z. B. Cisco, Nortel, NEC) in Bezug auf Standard-API.

Ich würde empfehlen, die Verfügbarkeit von SMDR (Station Messaging Detail Recording) auf den PBX-Plattformen, die Sie anvisieren, unter der Annahme, dass keine Anruf-/Gerätesteuerung erforderlich ist. Dadurch können Sie auf die PBX-Aktivität als Text-Stream zugreifen und die Daten für weitere Manipulationen entsprechend Ihrem Zweck analysieren.

Wahrscheinlich ist das Format zwischen dem PBX-Anbieter wird anders sein, aber hoffentlich konnte dies weg abstrahiert werden, so dass die Kernanwendungsfunktionalität ist wiederverwendbar.

Dies ist wahrscheinlich eine portablere Option, vorausgesetzt, dass keine Anruf-/Gerätesteuerung erforderlich ist, da Sie sich nicht darauf verlassen, dass der Anbieter CTI-Konnektivität auf Ihrer bevorzugten Plattform bereitstellt.

0

Hier ist eine weitere Abstimmung für SMDR. Die Telefonie-Systeme, die ich gesehen habe, bieten alle die Möglichkeit der SMDR-Protokollierung über einen seriellen Port in der Telefonzelle. Erfasse einfach den Text vom seriellen Port und analysiere ihn nach Bedarf.

Ich schrieb einen Serverprozess, der die SMDR-Ausgabe erfasst, analysiert und das Ergebnis in einer Datenbank speichert, die unsere anderen Anwendungen verwenden können, um die Durchwahl, Telefonnummer, Zeit und Länge jedes Telefonanrufs zu sehen.

0

Dies ist eine alte Frage, aber zeigt noch in den Suchergebnissen, so ich dachte, ich meine Lösung hier posten würde:

ich ein kleines Bash-Skript erstellt, das über Telnet auf die Panasonic KX PBX verbindet, ist es geplant Führen Sie mit crontab, und schrieb meinen Anwendungscode, um die Protokolldateien zu greifen und sie zu analysieren.

Hier ist meine Bash-Skript:

#!/bin/sh 

HOST="192.168.0.200" 
PORT="2300" 
USER="SMDR" 
PASS="PCCSMDR" 

FILE=/var/smdr/smdr-`date +%F`.log 
TS=`date +"%F %T"` 

echo "### ${TS}" >> $FILE 

(
    echo open $HOST $PORT 
    sleep 2 
    echo $USER 
    sleep 2 
    echo $PASS 
    sleep 150 
    echo "quit" 
) | telnet | tee -a $FILE