Конфгурация SMSC "на лету" в Kannel

Пожалуй, одной из наиболее раздражающих особенностей Kannel до недавних пор являлась необходимость полного перезапуска при любых изменениях в конфигурации. Если действие происходит на нагруженной платформе, где идет поток в десятки, а то и сотни SMS в секунду, то тестирование нового подключения может оказаться большой проблемой.

Однако, разработчики некоторое время назад решили эту проблему и теперь можно на лету менять конфигурацию подключений к SMSC без остановки платформы (почему не была сразу реализована перезагрузка конфигурации, лучше почитать в описании архитектуры Kannel).

В административном HTTP интерфейсе для этой цели были добавлены следующие команды:

  • add-smsc - добавляет SMSC в конфигурацию по указанному smsc-id
  • remove-smsc - убирает из конфигурации указанный SMSC

Таким образом, для изменения конфигурации достаточно совершить следующую последовательность действий:

  1. lynx http://kannel:port/remove-smsc?password=secret&smsc=operator
  2. подправить конфигурацию
  3. lynx http://kannel:port/add-smsc?password=secret&smsc=operator

При этом, все остальные подключения продолжают функционировать в нормальном режиме.

Естественно, в моем пакете NetSDS::Kannel эта функциональность также присутствует :-)