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

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

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


doc:1cajam:api:originate

Различия

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

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

doc:1cajam:api:originate [2011/12/10 06:53]
127.0.0.1 внешнее изменение
doc:1cajam:api:originate [2014/11/14 22:32]
Строка 1: Строка 1:
-====== Команда Asterisk Manager API: Originate ====== 
  
- 
-===== Назначение ===== 
- 
- 
-Совершение исходящего вызова. 
- 
-===== Параметры команды ===== 
- 
- 
-  * **Channel**:​ Название канала,​ с которого совершается исходящий вызов (В том же формате,​ как если бы Вы совершали вызов этому абоненту командой Dial.) 
-  * **Context**:​ Название контекста для совершения исходящего вызова (используется только совместно с параметрами Exten и Priority) 
-  * **Exten**: Extension to use on connect (используется только совместно с параметрами Context и Priority) 
-  * **Priority**:​ Priority to use on connect (используется только совместно с параметрами Context и Exten) 
-  * **Timeout**:​ Таймаут (в миллисекундах) для соединения с инициатором исходящего вызова (значение по умолчанию:​ 30000 миллисекунд). 
-  * **CallerID**:​ Значение CallerID, используемое для совершения исходящего вызова. 
-  * **Variable**:​ Установка переменных канала (максимум 32). Переменные будут установлены для обоих каналов,​ участвующих в соединении (локального,​ для абонента от которого совершается вызов и для вызываемого канала). 
-  * **Account**:​ Значение для “Account code” исходящего вызова. 
-  * **Application**:​ Команда плана набора,​ используемая для совершения исходящего вызова (используется параметр “Data”, для указания ее параметров) 
-  * **Data** : Параметры команды плана набора,​ используемой для совершения исходящего вызова. 
-  * **Async**: Если указано “true” исходящий вызов будет производиться асинхронно. Результат ее выполнения будет возвращен позже, в пакете типа “Event” (позволяет осуществлять несколько вызовов без ожидания результата предыдущей команды,​ совершающей исходящий вызов) 
-  * **ActionID**:​ Не обязательный идентификатор запроса. Позволяет сопоставить результат выполнения конкретному запросу. В качестве значения можно использовать или номер или строку. Очень полезно использовать,​ когда выполняется несколько асинхронных запросов одновременно. 
- 
-===== Последовательность событий при совершении исходящего вызова ===== 
- 
- 
-Первое,​ совершается вызов по каналу,​ указанному в параметре Channel. 
-Далее, после того как установлено соединение по этому каналу (на вызов ответили),​ будет запущена процедура исходящего вызова. 
-Это может быть или выполнение команд из указанной точки плана набора:​ номер екстеншена,​ указанного в параметре Exten, в контексте из параметра Context, с номером приоритета из “Priority”. 
-Или вызов совершается с помощью команды плана набора из параметра “Application” с ее параметрами из “Data”. 
-Обратите внимание,​ что таймаут,​ указанный в “Timeout”,​ имеет отношение только к первой стадии вызова (совершение вызова по каналу из “Channel”). Все остальные таймауты вызова второй стороны могут быть указаны,​ например,​ в параметрах команды Dial. 
- 
- 
-Использование параметра Async приводит к генерации manager API события (Event) - OriginateResponse,​ которое содержит код ошибки в поле reason, если оно есть. 
-Код ошибки может принимать следующие значения:​ 
- 
-0 = Номер или екстеншен не найден. 
-1 = Нет ответа (no answer) 
-4 = Успешное выполнение (answered) 
-8 = Перегрузка или абонент не доступен (congested or not available) 
- 
- 
----- 
- 
-**Пример** 
- 
- 
-Совершение вызова с канала SIP на указанный номер. 
-В данном случае исходящий вызов на номер внешнего абонента не будет совершаться до тех пор, пока наш SIP абонент не ответит на вызов: 
- 
-<​code>​ 
-Action: Originate 
-Channel: SIP/101test 
-Context: default 
-Exten: 8135551212 
-Priority: 1 
-Callerid: 3125551212 
-Timeout: 30000 
-Variable: var1=23|var2=24|var3=25 
-ActionID: ABC45678901234567890 
-</​code>​ 
- 
-Где номер 8135551212 – это локальный городской номер телефона. 
-В данном примере также показано,​ как устанавливать переменные канала в Originate запросе. 
- 
-Обратите внимание:​ Что параметры (в данном случае набор переменных канала) в версии 1.6 (и выше) должны отделяться друг от друга символом “,” (запятой),​ а не символом “|”. Чтобы полностью быть уверенным,​ какой разделитель используется в Вашей версии,​ можно в исходных кодах взглянуть на содержимое файла “include/​asterisk/​app.h”,​ на предмет определения конструкции с именем “AST_STANDARD_APP_ARGS”. Там вы сразу поймете,​ какой символ используется в качестве разделителя в наборе параметров. 
- 
-При использовании данного примера,​ вызов абонента SIP/101test будет завершен,​ если он не ответит в течение 30 секунд. 
- 
-При использовании AJAM запрос на оригинацию будет такой: 
-<​code>​ 
-http://​xxxxxxxx:​8088/​asterisk/​mxml?​action=Originate&​channel=SIP/​101test&​context=default&​exten=8135551212&​priority=1&​Callerid=3125551212&​Timeout=30000&​ActionID=ABC45678901234567890 
-</​code>​ 
- 
-<​note>​**Код на 1С** 
-<code 1C> 
-Компонента.Originate("​SIP/​101test","​default","​8135551212","​1","​30000","​3125551212","​var1=23|var2=24|var3=25",,,,,"​1"​);​ 
-</​code>​ 
-</​note>​ 
- 
- 
----- 
- 
- 
-**Пример** 
- 
- 
-Совершение вызова с внешнего канала на локальный екстеншен. 
-В данном случае вызов локального екстеншена не будет совершаться до тех пор, пока не ответят по внешнему ZAP каналу:​ 
- 
-<​code>​ 
-Action: Originate 
-Channel: Zap/​g2/​8135551212 
-Context: default 
-Exten: 101 
-Priority: 1 
-Timeout: 30000 
-Callerid: 3125551212 
-</​code>​ 
- 
-Тут екстеншен 101 – это наш локальный SIP телефон. 
- 
-<​note>​**Код на 1С** 
-<code 1C> 
-Компонента.Originate("​Zap/​g2/​8135551212","​default","​101","​1","​30000","​3125551212",,,,,,"​1"​);​ 
-</​code>​ 
-</​note>​ 
- 
----- 
- 
- 
-**Пример** 
- 
-Данный,​ насколько странный пример,​ демонстрирует,​ как с помощью AMI команды Originate выполнить команду операционной системы:​ 
- 
-<​code>​ 
-Action: Originate 
-Channel: Local/​1@dummy 
-Application:​ System 
-Data: /​path/​to/​script 
-</​code>​ 
- 
-<​note>​**Код на 1С** 
-<code 1C> 
-Компонента.Originate("​Local/​1@dummy",,,,,,,,"​System","/​path/​to/​script",,​);​ 
-</​code>​ 
-</​note>​ 
doc/1cajam/api/originate.txt · Последние изменения: 2014/11/14 22:32 (внешнее изменение)