Estou tendo mais alguns problemas com este dispositivo. Eu queria usar o botão da lista telefônica para exibir uma lista dos meus contatos. Aparentemente, este telefone precisa obter esta lista de um servidor, então iniciei o Apache HTTP e coloquei um arquivo directory.xml de exemplo nele:
<CiscoIPPhoneDirectory>
<Title>IP Telephony Directory</Title>
<Prompt>People reachable via VoIP</Prompt>
<DirectoryEntry>
<Name>Bob</Name>
<Telephone>1234</Telephone>
</DirectoryEntry>
</CiscoIPPhoneDirectory>
No arquivo de configuração do telefone adicionei esta linha:
<directoryURL>http://192.168.1.2/directory.xml</directoryURL>
Quando pressiono o botão da lista telefônica no dispositivo, posso ver no log do Apache que ele tenta obter um arquivo (o código 200 deve significar sucesso, certo?)
192.168.1.4 - - [20/Jan/2025:17:30:34 +0100] "GET /directory.xml?locale=SIP_English_United_States&name=SEP700B4F903F00 HTTP/1.1" 200 232
mas ele só exibe uma página em branco com o cabeçalho "Contacts (0 elem.)". Eu consigo ver directory.xml de um navegador muito bem. Por que isso não está funcionando?
Para testar, tentei colocar esse mesmo arquivo no meu servidor TFTP usado para provisionamento, novamente os logs mostram o telefone pegando um arquivo, mas não exibe nada. Li que esse telefone não suporta SMB, então tentar não funcionou.
Apenas o conteúdo de um arquivo está incorreto ou devo "alimentá-lo" no telefone de forma diferente? Talvez haja um método diferente e simples para obter uma lista telefônica funcional? Talvez armazená-la localmente no dispositivo? Preciso apenas de 5 entradas nela. Por enquanto, minha solução de espaço reservado é mapear dígitos únicos para números de telefone de minha escolha usando dialplan.xml, mas obviamente requer que você se lembre de qual é qual e não tem rótulos, o que não é muito elegante.
Obrigado por quaisquer sugestões possíveis.
Como de costume, o processo de formulação de uma pergunta me fez chegar a uma solução, que compartilharei agora. Primeiramente, o arquivo de diretório contendo uma lista telefônica precisa ser .php, não .xml . Seu conteúdo permanece o mesmo. No arquivo de configuração do SepMAC, em vez de colocar o endereço IP dentro,
<directoryURL>
colocamos este código:dentro de
<phoneServices>
, onde outros blocos que definem, por exemplo, serviço de correio de voz devem estar, se usado. Ao provisionar uma configuração com essas alterações, pressionar o botão contacts exibe todos os números de telefone dentro de directory.php, que é, naturalmente, armazenado no servidor http 192.168.1.2.Solução alternativa de bônus:
No arquivo de configuração SepMAC, há definições para chaves de linha dentro
<sipLines>
. A primeira deve conter todas as informações necessárias para conectar-se ao seu provedor SIP, como endereço do servidor e credenciais de login. Outras podem ser usadas para discagem rápida. O que eu não sabia até hoje é que, embora meu modelo tenha apenas dois botões de linha, você pode definir mais deles na configuração e acessar todos os números de discagem rápida pressionando o botão de controle central. Adicionei todos os meus contatos como novas linhas, assim:cada um com ids diferentes entre aspas. Esta solução é realmente perfeita para meu caso de uso, onde não planejo atualizar meus contatos após a implantação inicial.
Prós: Não há necessidade de um servidor http, todas as informações são armazenadas localmente em um telefone.
Contras: Para atualizar a lista de contatos, é necessário carregar uma nova configuração, o que leva um minuto.
Tenho certeza de que há algumas preocupações de segurança das quais não estou ciente, mas foi isso que consegui fazer funcionar.