Загрузить новый модуль в Kamailio

Я хотел бы спросить, как я могу загрузить новый модуль в Kamailio 4.1.2? На самом деле, у меня проблема, когда я пытался скомпилировать свой kamaiio.cfg, у меня возникла ошибка:

root@kamailio:/usr/local/# kamailio -c kamailio.cfg
loading modules under /usr/local/lib64/kamailio/modules/
 0(25392) ERROR: <core> [sr_module.c:587]: load_module(): ERROR: load_module: could not find module <websocket> in </usr/local/lib64/kamailio/modules/>
 0(25392) : <core> [cfg.y:3408]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 323, column 12-25: failed to load module
 0(25392) ERROR: <core> [cfg.y:3272]: yyparse(): cfg. parser: failed to find command ws_handle_handshake
 0(25392) : <core> [cfg.y:3411]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 1083, column 27: unknown command, missing loadmodule?

ERROR: bad config file (2 errors)

когда я смотрю физически на /usr/local/lib64/kamailio/modules/ есть некоторые модули, но websocket.so отсутствует. Итак, как я могу получить и загрузить модуль в Kamailio?

Спасибо за помощь!


person Patrik18    schedule 03.04.2014    source источник


Ответы (2)


Вы не установили модуль websocket. Отредактируйте файл modules.lst в каталоге исходного кода и добавьте веб-сокет в переменную include_modules. Если у вас нет modules.lst, просто выполните:

make cfg

Альтернатива - сделать:

make cfg include_modules="websocket"

По умолчанию система сборки для kamailio компилирует и устанавливает только те модули, которые имеют те же зависимости, что и ядро ​​приложения. Для веб-сокета вам необходимо установить пакеты libunistring и openssl (libssl).

person miconda    schedule 08.04.2014
comment
да точно, исправил раньше, просто забыл обновить этот трэд. Спасибо - person Patrik18; 11.04.2014
comment
Нужно ли нам что-то делать после изменения файла modules.lst? Когда этот новый модуль будет установлен на текущем сервере? Во время перезапуска Kamailio? - person ARUNBALAN NV; 13.02.2018
comment
Вам нужно переустановить kamailio (снова сделать «установить»), а затем перезапустить его. - person miconda; 26.02.2018

Шаги для загрузки нового модуля на сервер Kamailio. (Попробуйте, если приведенный выше ответ не работает для вас)

  1. Убедитесь, что модули существуют непосредственно в модуле по умолчанию /usr/local/lib64/kamailio/modules.
    Если они найдены, добавьте loadmodule "имя_модуля.so " в разделе загрузки модуля в файле kamailio.cfg.
  2. Если модуль не найден в каталоге модулей по умолчанию, вы можете проверить исходный код этого модуля в каталоге исходных кодов модулей по умолчанию /usr/local/src/kamailio-4.4/kamailio/modules.
  3. Если исходный код найден, войдите в каталог модуля. Затем создайте общий объектный файл модулей (.so) с помощью следующих команд.

    ./configure
    make
    make test
    make install

  4. Затем вы получите общий объектный файл (.so). Скопируйте этот файл в каталог модуля по умолчанию. и загрузите этот модуль из файла kamailio.cfg, как указано в шаге 1.

  5. Если исходный код модуля отсутствует в каталоге исходного кода по умолчанию, вам необходимо загрузить исходный код из Интернета. И выполните шаг 3 и 4.

person ARUNBALAN NV    schedule 21.02.2018