Как добавить нового пользователя в Kamailio, используя PHP shell_exec?

0

Существует требование добавить нового пользователя в Kamailio программно с помощью PHP. Я попытался добавить имя пользователя и пароль в таблицу подписчиков вручную, используя SQL- запросы, но это не сработает, потому что ha1 и ha1b следует добавить в таблицу. Я не знаю, как Kamailio генерирует ha1 и ha1b. Ниже приведены добавленные вручную записи с использованием инструмента kamctl.

mysql> select * from subscriber limit 2;
+----+----------+---------------+--------------+---------------+----------------------------------+----------------------------------+------+
| id | username | domain        | password     | email_address | ha1                              | ha1b                             | rpid |
+----+----------+---------------+--------------+---------------+----------------------------------+----------------------------------+------+
|  9 | 1010101  | 10.101.101.10 | aswwwwwwwsdf |               | a37d1785953310c206481ca1a33f16b6 | 7e981130f05a547a738d3c29031e89d0 | NULL |
| 10 | 1010102  | 10.101.101.10 | 6eeeeee8a72  |               | 6b574f9047206481ca1a33501d7dbdce | cd9a8b89d926f3cb1290311a8cb8a2a8 | NULL |
+----+----------+---------------+--------------+---------------+----------------------------------+----------------------------------+------+

Тогда я попытался с shell_exec функции в PHP, чтобы использовать команду kamctl (kamctl добавить имя пользователя пароль). но он будет запрашивать пароль пользователя для записи и записи Kamailio. Поэтому следующая команда не может добавлять новых пользователей в Kamailio

$res = shell_exec("sudo kamctl add new_username new_password);   

поэтому, пожалуйста, предложите способ добавить нового пользователя в Kamailio программно.

Теги:
kamailio

2 ответа

0
Лучший ответ

Проблема заключалась в том, как предоставить пароль для подсказки, следующего за командой добавления.
Вот решение, вы можете использовать echo для передачи пароля в приглашение, и вы можете использовать канал прямо перед вашей фактической командой. Чтобы запрос получил эхо-пароль, он добавит нового пользователя.

$res = shell_exec("echo password |kamctl add new_username new_password");
1

Вы можете напрямую добавить таблицу подписчиков в базу данных Kamailio, если вы используете php для создания учетных записей пользователей. ha1b - это ничего, кроме хэша md5 имени пользователя, области, пароля. Структура таблицы подписчиков kamailio, как показано ниже. Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню