Решение проблемы генерации конфигурационных файлов для IP-телефонов через TFTP-сервер

    Существует код на Node.js, который генерирует XML-файл с настройками для IP-телефонов и раздает его через TFTP-сервер. Однако при попытке скачать файл возникает ошибка в логах сервера о том, что файл не найден, а телефон не видит конфигурацию.

    Исходный код сервера

    Используются библиотеки tftp и xmlbuilder:

    const tftp = require('tftp');
    const builder = require('xmlbuilder');
    
    const server = tftp.createServer({
      host: '0.0.0.0',
      port: 69,
    });
    
    server.on('request', function (req, res){
      const root = builder.create('flat-profile');
      root.ele('Provision_Enable', 'Yes');
      root.ele('Resync_On_Reset', 'Yes');
      root.ele('Resync_Periodic', 3600);
      root.ele('Profile_Rule', 'tftp://192.168.1.100/spa$PSN.cfg');
      const xmlString = root.end({pretty: true});
      const data = Buffer.from(xmlString);
      res.setSize(data.length);
      res.write(data);
      res.end();
    });
    
    server.listen();

    Проблема

    При выполнении команды tftp 192.168.1.100 -c get config.xml файл генерируется и скачивается, но в логах сервера фиксируется ошибка "файл не найден". Телефон при этом не получает конфигурационный файл.

    Вопрос

    Как настроить сервер так, чтобы он возвращал сгенерированный в памяти файл, а не пытался найти его в файловой системе папки?