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

4

O que eu estou tentando fazer é enviar informações de ID do chamador (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.

Observação: há um plug-in MythNotify , que usei em uma iteração anterior da minha configuração, mas uma limitação severa (acredito que com base 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 uma dor para exibir corretamente: ele usa XML para mensagens e, em seguida, XSLT para alterar 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, mesmo assim, 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.

    
por gregmac 06.08.2010 / 09:26

1 resposta

2

Você pode 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 (consulte link para mais informações sobre isso).
  3. Configure seu script de notificação no seu servidor para executar o envio de notificação, assim:

    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 chamados 'system1' e 'system2'.

    
por fader 06.08.2010 / 16:38