====== Команда Asterisk Manager API: UpdateConfig ====== Команда создает, модифицирует или удаляет элемент конфигурации в указанном конфигурационном файле Asterisk. Обратите внимание, что Вы потеряете все комментарии в файле, который подвергается изменению конфигурации! Необходимые привилегии: config,all ===== Параметры команды ===== - SrcFilename: Имя конфигурационного файла asterisk для чтения параметров (например: foo.conf). - DstFilename: Имя конфигурационного файла asterisk для записи измененной конфигурации (например: foo.conf). - Reload: Если указано «yes”,то производиться перезагрузка конфигурации Asterisk, если указано имя модуля, то только данный модуль будет перезагружен. - Action-XXXXXX: Действие, которое нужно произвести с конфигурацией. Возможные значения: * NewCat: Добавление новой пустой категории в конфигурационный файл. Категория указывается в поле: Cat-XXXXXX . * RenameCat: Переименование категории в конфигурационном файле, которая указана в поле: Cat-XXXXXX, в значение, которое указано в поле: Value-XXXXXX. * DelCat: Удаление всей категории в конфигурационном файле. Категория указывается в поле: Cat-XXXXXX . * Update: изменение значения конфигурационного параметра, имя которого указано в Var-XXXXXX, в категории конфигурационного файла, которая указана в поле: Cat-XXXXXX. На значение, которое указано в поле: Value-XXXXXX. Если нужно изменить значение параметра только в том случае, если он имеет определенное значение, то это значение необходимо указать в поле Match-XXXXXX, иначе все параметры с заданным именем (если их несколько) примут новое значение. * Delete: Удаление параметра конфигурации, имя которого указано в Var-XXXXXX, в категории конфигурационного файла, которая указана в поле: Cat-XXXXXX. Если нужно удалить все параметры с заданным именем в данной категории, то можно не указывать поле: Match-XXXXXX, иначе необходимо указать значение удаляемого параметра в этом поле. Например, при работе с директивами «allow”, “disallow” в файле sip.conf, если надо удалить конкретный кодек, то нужно указать его значение в поле: Match-XXXXXX! * Append: Добавление значения конфигурационного параметра, имя которого указано в Var-XXXXXX, в категории конфигурационного файла, которая указана в поле: Cat-XXXXXX, со значением, которое указано в поле: Value-XXXXXX. - Cat-XXXXXX: Категория конфигурационного файла, в которой необходимо произвести изменения. - Var-XXXXXX: Имя параметра, с которым производиться действие. - Value-XXXXXX: Значение соответствующего заданного параметра, над которым производиться действие. - Match-XXXXXX: Необязательный параметр, с которым проверяется соответствие значение параметра в файле конфигурации, при операциях Append, Update и Delete. - ActionID: Необязательный ID команды, который будет возвращен в ответе. Символы XXXXXX – это 6 цифр, начиная с 000000, дополненные до шести знаков нулями спереди. Служит для разделения нескольких действий в одном запросе и определения, какие параметры, к какому действию относятся. Максимальное значение – 100000. Замечание: При изменении в плане набора - extensions.conf, необходимо или в поле “Value-XXXXXX” пред значением указать символ “>” или указать: «Match-XXXXXX: object”. ===== Примеры. ===== Добавление нового значения поля “secret» пользователя “newuser” в файле: manager.conf: action: UpdateConfig reload:yes srcfilename:manager.conf dstfilename:manager.conf Action-000000:append Cat-000000:newuser Var-000000:secret Value-000000:nottelling Добавление нового правила в план набора: action: UpdateConfig reload:yes srcfilename: extensions.conf dstfilename: extensions.conf Action-000000:append Cat-000000: ami-test Var-000000:exten Value-000000:999,1,Dial(SIP/Bob) Match-000000:object Удаление поля «secret” пользователя “newuser” в файле: manager.conf: action: UpdateConfig srcfilename: manager.conf dstfilename: manager.conf action-000000: delete cat-000000: newuser var-000000: secret match-000000: nottelling Ответ asterisk при успехе: Response: Success Ответ asterisk при ошибке: Response: Error Message: Config file not found ===== Ссылки по теме ===== * [[kb:asterisk:ami:GetConfig|GetConfig]]: Получение заданного файла конфигурации. * [[kb:asterisk:ami|Asterisk Manager API]]