Pergunta

Alguém sabe de qualquer maneira 'padrão' para a interface com um sistema de telefonia (acho Cisco CCM) a partir de um aplicativo C / C ++ em * nix? Eu tenho usado MS TAPI no passado, mas este é apenas o Windows e não querem ir a rota JTAPI (Java), que parece ser a única opção no rosto dela.

Eu quero monitorar o sistema de telefone para fins de registro (por isso sei quando os usuários fizeram chamadas, chamadas recebidas, etc.). TAPI é bom neste tipo de coisa, mas eu não posso ser a primeira pessoa que quer fazer algo semelhante sem ter um servidor Windows.

Note que eu preciso para se integrar com sistemas de PABX existentes -. Nomeadamente Cisco CCM e Nortel BCM

Foi útil?

Solução

Eu tenho experiência com dois padrões de telefonia TAPI e CSTA, tanto quanto eu sei não existe tal acordo entre fornecedores (por exemplo, Cisco, Nortel, NEC) a respeito da API padrão.

Eu recomendo a olhar para a disponibilidade de SMDR (Estação Messaging Detail Recording) na plataformas de PABX lhe são dirigidas, assumindo que nenhum controle de chamada / dispositivo é necessário. Isso permitirá que você acessar a atividade PBX como um fluxo de texto e você pode analisar os dados para outras manipulações para atender sua finalidade.

O mais provável é o formato entre os fornecedores de PBX será diferente, mas espero que isso poderia ser abstraída para que a funcionalidade do aplicativo principal é re-utilizável.

Este é provável que seja uma opção mais portátil, novamente assumindo que não há controle de chamada / dispositivo é necessário, pois você não está contando com o fornecedor fornecendo conectividade CTI em sua plataforma de escolha.

Outras dicas

Aqui está um outro voto para SMDR. Os sistemas de telefonia que eu vi todos oferecem a opção de registro de bilhetagem através de uma porta serial na caixa de telefone. Apenas capturar o texto da porta serial e analisá-lo conforme necessário.

Eu escrevi um processo servidor que captura a saída SMDR, analisa-lo e salva o resultado em um banco de dados que os nossos outros aplicativos podem usar para ver a extensão, número de telefone, a hora ea duração de cada chamada telefônica.

Esta é uma questão de idade, mas ainda aparece nos resultados da pesquisa para que eu percebi que eu postar minha solução aqui:

Eu criei um script pequeno que se conecta à Panasonic KX PBX via telnet, programado para ser executado com crontab, e escrevi meu código do aplicativo para pegar os arquivos de log e analisá-los.

Aqui está o meu script 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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top