====== Функция Updateconfig из SDK: "Компонента связи 1С и Asterisk" ======
Команда создает, модифицирует или удаляет элемент конфигурации в указанном конфигурационном файле Asterisk.
Обратите внимание, что Вы потеряете все комментарии в файле, который подвергается изменению конфигурации!
===== Параметры =====
* **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.
* **Line-XXXXXX**: Line in category to operate on (used with delete and insert actions). X's represent 6 digit number beginning with 000000.
* **ActionID**: ID команды, который будет возвращен в ответе.
* **Result**: В эту переменную будет возвращен результат выполнения функции.
Символы XXXXXX – это 6 цифр, начиная с 000000, дополненные до шести знаков нулями спереди. Служит для разделения нескольких действий в одном запросе и определения, какие параметры, к какому действию относятся. Максимальное значение – 100000.
Замечание: При изменении в плане набора - extensions.conf, необходимо или в поле “Value-XXXXXX” пред значением указать символ “>” или указать: «Match-XXXXXX: object”.
Все переменные передаваемые в функцию должны иметь тип Строка!
===== Пример вызова =====
SrcFilename = "manager.conf";
DstFilename = "manager.conf";
Reload = "yes";
Action = "append";
Cat = "ami-test";
Var = "exten";
Value = "999,1,Dial(SIP/Bob)";
Match = "object";
Line = "";
ActionID = "123123";
Result = "";
Если Компонент.UpdateConfig( SrcFilename, DstFilename, Reload, Action, Cat, Var, Value, Match, Line, ActionID, Result) = Истина Тогда
Сообщить(Result);
КонецЕсли;
===== Полезные ссылки =====
* [[doc:1cajam|Описание SDK: "Компонента связи 1С и Asterisk"]]
* [[doc:1cajam:api|Все функции компоненты связи 1С и Asterisk]]
* [[kb:asterisk:ami:updateconfig|Прототип текущей функции, команда AMI Asterisk: Updateconfig]]
* [[kb:asterisk:ami|Интерфейс управления сервером Asterisk (Asterisk Manager API)]]
* [[kb:asterisk:events|Список известных событий возвращаемых Asterisk Manager API]]
===== Комментарии =====
~~DISQUS~~