Servidores / clientes VOIP locais com APIs

0

Eu tenho uma frota de computadores quiosque do Ubuntu que serão implantados em estado selvagem. Os membros do público estarão usando-os.

Eu quero adicionar um botão "pressionar para obter ajuda" no aplicativo para que, se as pessoas ficarem presas, possam conversar com uma pessoa real. O hardware do quiosque terá alto-falantes e um microfone. Eu gostaria que o processo fosse:

  • Eles pressionam o botão
  • Algo centralmente toca
  • Um técnico de suporte "pega" a chamada
  • Eles conversam e, eventualmente, um deles desliga.

Como alternativa, se a equipe de suporte detectar um problema em um quiosque, eu gostaria que eles pudessem iniciar uma chamada sem qualquer interação do usuário.

Também preciso que a equipe de suporte identifique qual quiosque está chamando.

Alguns problemas surgem por querer fazer coisas como esta. Preciso de um software para lidar com as chamadas e preciso que o aplicativo inicie (e termine) a chamada.

Coisas como TeamSpeak e Mumble parecem inadequadas para isso, porque eu não quero que todos os quiosques conversem entre si, assim como eu não quero que a voz da equipe de suporte seja transmitida de todos os quiosques de uma só vez! Acho que estou atrás de um Skype apenas local, mas algo que posso controlar ativamente no final do cliente.

Alguma idéia?

    
por Oli 03.04.2015 / 13:18

1 resposta

1

O padrão da indústria para VOIP é o servidor Asterisk. Dentro dele você configura quais protocolos de telefonia são suportados, quem tem permissão para ligar e para quem as chamadas são roteadas.

Como cliente, você pode usar algum softphone de linha de comando. Será fácil integrá-lo ao projeto com alguns scripts de shell.

Ou você pode pegar uma biblioteca VOIP que suporte SIP, H323 ou qualquer protocolo e integrá-la diretamente no aplicativo. Se for um aplicativo da Web, o protocolo WebRTC está surgindo agora.

Para começar, instale um telefone SIP com GUI do repositório do Ubuntu, configure o Asterisk e várias contas em diferentes máquinas. Ligue para o número de uma conta da outra.

    
por Velkan 03.04.2015 / 18:37