it-swarm-pt.tech

Enviar mensagens de notificação de OSD para todos os sistemas em uma rede

O que eu estou tentando fazer é enviar informações de identificação de chamadas (CID) de um sistema executando o Asterisk + FreePBX para todos os (3) sistemas frontend MythTV na minha rede. Eu gostaria que as informações do CID aparecessem acima do que está acontecendo (por exemplo, seja em um menu ou reproduzindo uma gravação). Eventualmente, pode haver outras informações também, mas por enquanto o CID seria um ótimo começo.

As notificações no estilo libnotify estão bem (embora eu provavelmente precise aumentar o tamanho do texto para torná-lo visível). Eu estava pensando em algo como Growl , embora isso não pareça existir para o Linux.

Idealmente eu seria capaz de fazer algum tipo de transmissão para toda a rede, por exemplo, do sistema FreePBX eu poderia executar um comando como:

notify --broadcast  --title "Incoming Call"  "Smith J\n613-555-1234"

E então, em qualquer frontend do mythtv, apareceria em algum lugar na tela.


Nota: existe um MythNotify plugin, que eu usei em uma iteração anterior da minha configuração, mas tem uma limitação severa (acredito que baseado na maneira como o material OSD da MythTV funciona) que ele só pode exibir notificações durante a reprodução de vídeo: não enquanto estiver nos menus. Também me lembro de ser um problema exibir corretamente: ele usa o XML para mensagens e, em seguida, o XSLT para mudar para o formato XML do mythtv. Se você quiser mostrar algo um pouco diferente, você tem que fazer um pequeno punhado de novos arquivos XML e até mesmo obter a mensagem "callerid-from-phonebook.xml" para renderizar no (remoto) "callerid-from-phonebook- osd.xml "arquivo para exibição é algum tipo de arte negra.

4
gregmac

Você poderia fazer isso usando as ferramentas de notificação de linha de comando.

  1. Instale o pacote 'libnotify-bin' em todos os sistemas da sua rede, que fornece uma ferramenta chamada 'notify-send'.
  2. Instale o servidor ssh em todos os sistemas da sua rede e verifique se eles estão configurados para permitir logins ssh sem senha (veja http://www.debian-administration.org/articles/152 para mais informações sobre esta).
  3. Configure seu script de notificação no seu servidor para executar o comando notify-send, desta forma:

    ssh username @ system1 'notificar-enviar "Chamada recebida de Smith J\n613-555-1234"'

    ssh username @ system2 'notificar-enviar "Chamada recebida de Smith J\n613-555-1234"'

Isso causará uma notificação pop-up nos sistemas denominados 'system1' e 'system2'.

2
fader