2008-09-17 3 views
0

누구나 * nix의 C/C++ 응용 프로그램에서 전화 통신 시스템 (Cisco CCM을 생각해보십시오)과 인터페이스하는 데 '표준'방법을 알고 있습니까? 과거에는 MS TAPI를 사용했지만 Windows 전용이며 jTAPI (Java) 경로는 사용하지 않으려 고합니다.이 경로는이 옵션의 유일한 옵션 인 것 같습니다.* nix의 전화 시스템과의 인터페이스

로깅 목적으로 전화 시스템을 모니터링하고 싶습니다 (사용자가 전화를 걸었을 때 알 수 있도록). TAPI는 이런 종류의 일을 잘하지만 Windows 서버가 없어도 비슷한 일을하고 싶은 사람이 될 수는 없습니다.

기존 PABX 시스템, 특히 Cisco CCM 및 Nortel BCM과 통합해야한다는 점에 유의하십시오.

+0

체크 아웃 [별표] (http://www.asterisk.org/). – Ferruccio

답변

1

표준 API와 관련하여 벤더 (예 : Cisco, Nortel, NEC)간에 이와 같은 합의가 없다는 것을 알고있는 한, 두 가지 전화 통신 표준 TAPI 및 CSTA에 대한 경험이 있습니다.

통화/장치 제어가 필요 없다고 가정 할 때, 대상 PBX 플랫폼에서 SMDR (Station Messaging Detail Recording)의 가용성을 살펴 보는 것이 좋습니다. 이렇게하면 PBX 활동을 텍스트 스트림으로 액세스 할 수 있으며 사용자의 목적에 맞게 추가 조작을 위해 데이터를 구문 분석 할 수 있습니다.

대부분 PBX 공급 업체 간의 형식이 다를 수 있지만 잘하면이 핵심 응용 프로그램 기능을 다시 사용할 수 있도록 추상화 될 수 있습니다.

이 옵션은 호출/장치 제어가 필요 없다고 가정 할 때 더 쉽게 휴대 할 수있는 옵션입니다. 선택한 플랫폼에서 CTI 연결을 제공하는 공급 업체에 의존하지 않으므로.

0

여기 SMDR에 대한 또 다른 투표가 있습니다. 필자가 보았던 전화 통신 시스템은 전화 박스의 직렬 포트를 통해 SMDR 로깅 옵션을 제공합니다. 그냥 직렬 포트에서 텍스트를 캡처하고 필요에 따라 구문 분석.

SMDR 출력을 캡처하고 파싱 한 결과를 다른 응용 프로그램에서 각 전화의 내선, 전화 번호, 시간 및 길이를 볼 때 사용할 수있는 데이터베이스에 저장하는 서버 프로세스를 작성했습니다.

내가 텔넷을 통해 파나소닉 KX PBX에 연결하는 작은 bash는 스크립트를 생성에 예정 : 나는 여기에 내 솔루션을 게시 할 거라고 생각 때문에

0

이 여전히 오래된 질문이지만, 검색 결과에 표시 crontab으로 실행하고 내 응용 프로그램 코드를 작성하여 로그 파일을 가져 와서 구문 분석합니다.

가 여기 내 bash는 스크립트입니다 :

#!/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