Servidores/clientes VOIP locais com APIs

Servidores/clientes VOIP locais com APIs

Eu tenho uma frota de computadores quiosques Ubuntu que serão implantados em estado selvagem. O público irá usá-los.

Quero adicionar um botão "pressione para obter assistência" ao aplicativo para que, se as pessoas ficarem presas, possam falar com uma pessoa real. O hardware do quiosque terá alto-falantes e microfone. Eu gostaria que o processo fosse:

  • Eles apertam o botão
  • Algo toca centralmente
  • Um funcionário de suporte "atende" a chamada
  • Eles conversam e eventualmente um deles desliga.

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

Também preciso de pessoal de apoio para poder identificarqualquiosque está ligando.

Alguns problemas surgem do desejo de fazer coisas assim. Preciso de um software para lidar com as chamadas e preciso de uma maneira para meu aplicativo iniciar (e encerrar) a chamada.

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

Alguma ideia?

Responder1

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 serã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 outro protocolo e integrá-la diretamente ao aplicativo. Se for uma aplicação web – o protocolo WebRTC está surgindo agora.

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

informação relacionada