Требуется добавить нового пользователя в Kamailio программно используя PHP. Я пытался добавить имя пользователя и пароль подписчик таблица вручную с помощью SQL запросы, но это не сработает, потому что га1 а также ha1b должны быть добавлены в таблицу. Я не знаю, как генерировать Kamailio га1 а также 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 |
+----+----------+---------------+--------------+---------------+----------------------------------+----------------------------------+------+
Вы можете напрямую добавить в таблицу подписчиков в базе данных Kamailio, если вы используете php для создания учетных записей пользователей. ha1b — это не что иное, как md5 хэш имени пользователя, области, пароля. Структура таблицы подписчиков kamailio, как показано ниже.
Проблема заключалась в том, как предоставить пароль для приглашения, пришедшего после добавлять команда.
Вот решение, вы можете использовать эхо передать пароль на приглашение, и вы можете использовать труба прямо перед вашей фактической командой. Так что приглашение получит повторяющийся пароль и добавит нового пользователя.
$res = shell_exec("echo password |kamctl add new_username new_password");