====== Функция 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~~