Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


doc:1cajam:sendcommand

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
doc:1cajam:sendcommand [2012/01/30 11:46]
nb создано
doc:1cajam:sendcommand [2014/11/14 22:32] (текущий)
Строка 1: Строка 1:
 ====== Отправка команд серверу Asterisk из 1С с анализом результата выполнения ====== ====== Отправка команд серверу Asterisk из 1С с анализом результата выполнения ======
  
-Компонент входящий в состав SDK: "​Компонента связи 1С и Asterisk"​ передает управляющие команды серверу Asterisk. Команды могут выполняться синхронно и асинхронно. Чаще всего происходит асинхронная обработка ответов.  +Компонентвходящий в состав SDK: "​Компонента связи 1С и Asterisk"​передает управляющие команды серверу Asterisk. Команды могут выполняться синхронно и асинхронно. Чаще всего происходит асинхронная обработка ответов.  
-Каждая команда реализованная в компоненте имеет параметр ActionID, который в случае асинхронного вызова позволяет однозначно отделить ответ на нашу команду от других ответов и событий Asterisk. Например,​ при вызове функции мы передали в параметр ActionID слово "​Barsik",​ то в одном из событийили в нескольких мы получим данные содержащие строку //​actionid="​Barsik"//​. ​+Каждая командареализованная в компонентеимеет параметр ActionID, который в случае асинхронного вызова позволяет однозначно отделить ответ на нашу команду от других ответов и событий Asterisk. Например,​ при вызове функции мы передали в параметр ActionID слово "​Barsik",​ то в одном из событий или в нескольких мы получим данныесодержащие строку //​actionid="​Barsik"//​. ​
  
-Также каждая функция компоненты имеет реквизит Result в который возвращается синхронный ответ функции,​ если такой предусмотрен AMI интерфейсом Asterisk. Сама же функция возвращает ложь или истину в зависимости от того успешно она выполнена или нет.+Такжекаждая функция компоненты имеет реквизит Resultв который возвращается синхронный ответ функции,​ если такой предусмотрен AMI интерфейсом Asterisk. Сама же функция возвращает ложь или истину в зависимости от того ​успешно она выполнена или нет.
  
 Пример вызова функции оригинации звонка:​ Пример вызова функции оригинации звонка:​
 <code 1c> <code 1c>
-Процедура ​Originate(Команда) +Процедура ​ПозвонитьС26На74952293042()
- Результат="";​ +
- Channel = "​SIP/​26" ​                       // Channel: Название канала,​ с которого совершается исходящий вызов (В том же формате,​ как если бы Вы совершали вызов этому абоненту командой Dial.) +
- Context = "​from-internal";​ //​ Context:​ Название контекста для совершения исходящего вызова (используется только совместно с параметрами Exten и Priority) +
- Exten = "​74952293042"; ​                 // Exten: Extension to use on connect ​(используется только совместно с параметрами Context и Priority) +
- Priority = "​1";​  ​       //​ Priority:​ Priority to use on connect (используется только совместно с параметрами Context и Exten) +
- Timeout = "";​ //​ Timeout:​ Таймаут (в миллисекундах) для соединения с инициатором исходящего вызова (значение по умолчанию:​ 30000 миллисекунд). +
- CallerID = "​MIKO_Abonent";​  ​               //​ CallerID:​ Значение CallerID, используемое для совершения исходящего вызова. +
- Variable = "";​ //​ Variable:​ Установка переменных канала (максимум 32). Переменные будут установлены для обоих каналов,​ участвующих в соединении (локального,​ для абонента от которого совершается вызов и для вызываемого канала). +
- Account = "​miko";​  ​       // Account: Значение для “Account code” исходящего вызова. +
- Application = "";​ //​ Application:​ Команда плана набора,​ используемая для совершения исходящего вызова (используется параметр “Data”, для указания ее параметров) +
- Data = "";​ //​ Data : Параметры команды плана набора,​ используемой для совершения исходящего вызова. +
- Async = "​1";​  ​       // Async: Если указано “true” исходящий вызов будет производиться асинхронно. Результат ее выполнения будет возвращен позже, в пакете типа “Event” (позволяет осуществлять несколько вызовов без ожидания результата предыдущей команды,​ совершающей исходящий вызов) +
- ActionID = "​114";​  ​       //​ ActionID:​ Не обязательный идентификатор запроса. Позволяет сопоставить результат выполнения конкретному запросу. В качестве значения можно использовать или номер или строку. Очень полезно использовать,​ когда выполняется несколько асинхронных запросов одновременно.+
   
 + Channel = "​SIP/​26" ​               // Channel: Название канала,​ с которого совершается исходящий вызов (В том же формате,​ как если бы Вы совершали вызов этому абоненту командой Dial.)
 + Context = "​from-internal";​ //​ Context:​ Название контекста для совершения исходящего вызова (используется только совместно с параметрами Exten и Priority)
 + Exten = "​74952293042"; ​         // Exten: Extension to use on connect (используется только совместно с параметрами Context и Priority)
 + Priority = "​1";​ //​ Priority:​ Priority to use on connect (используется только совместно с параметрами Context и Exten)
 + Timeout = "";​ //​ Timeout:​ Таймаут (в миллисекундах) для соединения с инициатором исходящего вызова (значение по умолчанию:​ 30000 миллисекунд).
 + CallerID = "​MIKO_Abonent";​  ​       //​ CallerID:​ Значение CallerID, используемое для совершения исходящего вызова.
 + Variable = "";​ //​ Variable:​ Установка переменных канала (максимум 32). Переменные будут установлены для обоих каналов,​ участвующих в соединении (локального,​ для абонента от которого совершается вызов и для вызываемого канала).
 + Account = "​miko";​ //​ Account:​ Значение для “Account code” исходящего вызова.
 + Application = "";​ //​ Application:​ Команда плана набора,​ используемая для совершения исходящего вызова (используется параметр “Data”, для указания ее параметров)
 + Data = "";​ //​ Data : Параметры команды плана набора,​ используемой для совершения исходящего вызова.
 + Async = "​1";​ //​ Async:​ Если указано “true” исходящий вызов будет производиться асинхронно. Результат ее выполнения будет возвращен позже, в пакете типа “Event” (позволяет осуществлять несколько вызовов без ожидания результата предыдущей команды,​ совершающей исходящий вызов)
 + ActionID = "​114";​ //​ ActionID:​ Не обязательный идентификатор запроса. Позволяет сопоставить результат выполнения конкретному запросу. В качестве значения можно использовать или номер или строку. Очень полезно использовать,​ когда выполняется несколько асинхронных запросов одновременно.
   
  Если Компонент = Неопределено Тогда  Если Компонент = Неопределено Тогда
Строка 30: Строка 29:
   
  Попытка  Попытка
 +                Результат="";​
  Если Компонент.Originate(Channel,​Context,​Exten,​Priority,​Timeout,​CallerID,​Variable,​Account,​Application,​Data,​Async,​ActionID,​Результат)=Истина Тогда  Если Компонент.Originate(Channel,​Context,​Exten,​Priority,​Timeout,​CallerID,​Variable,​Account,​Application,​Data,​Async,​ActionID,​Результат)=Истина Тогда
                      ​Сообщить("​Результат оригинации "​+Результат);​                      ​Сообщить("​Результат оригинации "​+Результат);​
Строка 36: Строка 36:
  Сообщить("​Исключение при, ошибка:"​+ИнформацияОбОшибке());​  Сообщить("​Исключение при, ошибка:"​+ИнформацияОбОшибке());​
  КонецПопытки; ​  КонецПопытки; ​
-  +
-  +
- +
 КонецПроцедуры КонецПроцедуры
 </​code>​ </​code>​
 +
 +===== Полезные ссылки =====
 +  * [[doc:​1cajam|SDK:​ Компонента связи 1C и Asterisk]] ​
 +  * [[doc:​1cajam:​api|Описание функций реализованных в SDK: Компонента связи 1С и Asterisk]]
 +  * [[kb:​asterisk:​events|Asterisk Manager: Events]]
 +
 +
 +===== Комментарии =====
 +~~DISQUS~~
 +
doc/1cajam/sendcommand.1327923994.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)