Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:1cajam:api:originate [2012/02/02 09:14] nb |
doc:1cajam:api:originate [2014/11/14 22:32] (текущий) |
||
---|---|---|---|
Строка 4: | Строка 4: | ||
===== Параметры команды ===== | ===== Параметры команды ===== | ||
- | |||
* **Channel**: Название канала, с которого совершается исходящий вызов (В том же формате, как если бы Вы совершали вызов этому абоненту командой Dial.) | * **Channel**: Название канала, с которого совершается исходящий вызов (В том же формате, как если бы Вы совершали вызов этому абоненту командой Dial.) | ||
Строка 17: | Строка 16: | ||
* **Data** : Параметры команды плана набора, используемой для совершения исходящего вызова. | * **Data** : Параметры команды плана набора, используемой для совершения исходящего вызова. | ||
* **Async**: Если указано “true” исходящий вызов будет производиться асинхронно. Результат ее выполнения будет возвращен позже, в пакете типа “Event” (позволяет осуществлять несколько вызовов без ожидания результата предыдущей команды, совершающей исходящий вызов) | * **Async**: Если указано “true” исходящий вызов будет производиться асинхронно. Результат ее выполнения будет возвращен позже, в пакете типа “Event” (позволяет осуществлять несколько вызовов без ожидания результата предыдущей команды, совершающей исходящий вызов) | ||
- | * **ActionID**: Не обязательный идентификатор запроса. Позволяет сопоставить результат выполнения конкретному запросу. В качестве значения можно использовать или номер или строку. Очень полезно использовать, когда выполняется несколько асинхронных запросов одновременно. | + | * **Codecs**: Список кодеков разделенный запятыми для использования в текущем вызове. |
+ | * **EarlyMedia**: Если указать “true” произойдет принудительное соединение в другим каналом в режиме EarlyMedia ((Параметр появился в компоненте версии 1.0.20)) | ||
+ | * **ActionID**: Идентификатор запроса. Позволяет сопоставить результат выполнения конкретному запросу. В качестве значения можно использовать или номер или строку. Очень полезно использовать, когда выполняется несколько асинхронных запросов одновременно. | ||
+ | * **Result**: В эту переменную будет возвращен результат выполнения функции. | ||
+ | |||
+ | <note important>Все переменные передаваемые в функцию должны иметь тип Строка!</note> | ||
- | <note warning>Для переменной Variable не применяется URLENCODE, имейте это ввиду при передаче сложных переменных!</note> | + | <note warning>Для переменной Variable не применяется [[http://ru.wikipedia.org/wiki/URL#.D0.9A.D0.BE.D0.B4.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_URL|URLENCODE]], имейте это ввиду при передаче сложных переменных! |
+ | Делайте замену символов на "безопасные" в среде 1С. | ||
+ | Например, символ пробела нужно заменить последовательностью %20, символ / заменяем на %2F и т.д. </note> | ||
===== Последовательность событий при совершении исходящего вызова ===== | ===== Последовательность событий при совершении исходящего вызова ===== | ||
Строка 62: | Строка 68: | ||
Application = ""; // Application: Команда плана набора, используемая для совершения исходящего вызова (используется параметр “Data”, для указания ее параметров) | Application = ""; // Application: Команда плана набора, используемая для совершения исходящего вызова (используется параметр “Data”, для указания ее параметров) | ||
Data = ""; // Data : Параметры команды плана набора, используемой для совершения исходящего вызова. | Data = ""; // Data : Параметры команды плана набора, используемой для совершения исходящего вызова. | ||
- | Async = "1"; // Async: Если указано “true” исходящий вызов будет производиться асинхронно. Результат ее выполнения будет возвращен позже, в пакете типа “Event” (позволяет осуществлять несколько вызовов без ожидания результата предыдущей команды, совершающей исходящий вызов) | + | Async = "1"; // Async: Если указано “true” исходящий вызов будет производиться асинхронно. Результат ее выполнения будет возвращен позже, в пакете типа “Event” (позволяет осуществлять несколько вызовов без ожидания результата предыдущей команды, совершающей исходящий вызов). |
- | ActionID = "123123123"; // ActionID: Не обязательный идентификатор запроса. Позволяет сопоставить результат выполнения конкретному запросу. В качестве значения можно использовать или номер или строку. Очень полезно использовать, когда выполняется несколько асинхронных запросов одновременно. | + | Codecs = ""; |
+ | EarlyMedia = ""; | ||
+ | ActionID = "123123123"; // ActionID: Не обязательный идентификатор запроса. Позволяет сопоставить результат выполнения конкретному запросу. В качестве значения можно использовать или номер или строку. Очень полезно использовать, когда выполняется несколько асинхронных запросов одновременно. | ||
Попытка | Попытка | ||
Результат=""; | Результат=""; | ||
- | Компонент.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, Codecs, EarlyMedia, ActionID, Результат); |
Сообщить("Результат оригинации "+Результат); | Сообщить("Результат оригинации "+Результат); | ||
Исключение | Исключение | ||
Строка 92: | Строка 100: | ||
Channel = "SIP/26"; // Channel: Название канала, с которого совершается исходящий вызов (В том же формате, как если бы Вы совершали вызов этому абоненту командой Dial.) | Channel = "SIP/26"; // Channel: Название канала, с которого совершается исходящий вызов (В том же формате, как если бы Вы совершали вызов этому абоненту командой Dial.) | ||
- | Context = ""; // Context: Название контекста для совершения исходящего вызова (используется только совместно с параметрами Exten и Priority) | + | Context = ""; // Context: Название контекста для совершения исходящего вызова (используется только совместно с параметрами Exten и Priority) |
- | Exten = ""; // Exten: Extension to use on connect (используется только совместно с параметрами Context и Priority) | + | Exten = ""; // Exten: Extension to use on connect (используется только совместно с параметрами Context и Priority) |
- | Priority = ""; // Priority: Priority to use on connect (используется только совместно с параметрами Context и Exten) | + | Priority = ""; // Priority: Priority to use on connect (используется только совместно с параметрами Context и Exten) |
- | Timeout = ""; // Timeout: Таймаут (в миллисекундах) для соединения с инициатором исходящего вызова (значение по умолчанию: 30000 миллисекунд). | + | Timeout = ""; // Timeout: Таймаут (в миллисекундах) для соединения с инициатором исходящего вызова (значение по умолчанию: 30000 миллисекунд). |
CallerID = "CDR_RECORDS"; // CallerID: Значение CallerID, используемое для совершения исходящего вызова. | CallerID = "CDR_RECORDS"; // CallerID: Значение CallerID, используемое для совершения исходящего вызова. | ||
- | Variable = ""; // Variable: Установка переменных канала (максимум 32). Переменные будут установлены для обоих каналов, участвующих в соединении (локального, для абонента от которого совершается вызов и для вызываемого канала). | + | Variable = ""; // Variable: Установка переменных канала (максимум 32). Переменные будут установлены для обоих каналов, участвующих в соединении (локального, для абонента от которого совершается вызов и для вызываемого канала). |
- | Account = ""; // Account: Значение для “Account code” исходящего вызова. | + | Account = ""; // Account: Значение для “Account code” исходящего вызова. |
- | Application = "Playback"; // Application: Команда плана набора, используемая для совершения исходящего вызова (используется параметр “Data”, для указания ее параметров) | + | Application = "Playback"; // Application: Команда плана набора, используемая для совершения исходящего вызова (используется параметр “Data”, для указания ее параметров) |
Data = "\"+ИмяФайлаБезРасширения; // Data : Параметры команды плана набора, используемой для совершения исходящего вызова. | Data = "\"+ИмяФайлаБезРасширения; // Data : Параметры команды плана набора, используемой для совершения исходящего вызова. | ||
- | Async = "0"; // Async: Если указано “true” исходящий вызов будет производиться асинхронно. Результат ее выполнения будет возвращен позже, в пакете типа “Event” (позволяет осуществлять несколько вызовов без ожидания результата предыдущей команды, совершающей исходящий вызов) | + | Async = "0"; // Async: Если указано “true” исходящий вызов будет производиться асинхронно. Результат ее выполнения будет возвращен позже, в пакете типа “Event” (позволяет осуществлять несколько вызовов без ожидания результата предыдущей команды, совершающей исходящий вызов). |
- | ActionID = "114"; // ActionID: Не обязательный идентификатор запроса. Позволяет сопоставить результат выполнения конкретному запросу. В качестве значения можно использовать или номер или строку. Очень полезно использовать, когда выполняется несколько асинхронных запросов одновременно. | + | Codecs = ""; |
+ | EarlyMedia = ""; | ||
+ | ActionID = "114"; // ActionID: Не обязательный идентификатор запроса. Позволяет сопоставить результат выполнения конкретному запросу. В качестве значения можно использовать или номер или строку. Очень полезно использовать, когда выполняется несколько асинхронных запросов одновременно. | ||
Результат=""; | Результат=""; | ||
Попытка | Попытка | ||
- | Компонент.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, Codecs, EarlyMedia, ActionID, Результат); |
СообщитьОтладочнуюИнформацию("Начало прослушивания разговора "+ИмяФайлаБезРасширения,Результат); | СообщитьОтладочнуюИнформацию("Начало прослушивания разговора "+ИмяФайлаБезРасширения,Результат); | ||
Исключение | Исключение | ||
Строка 114: | Строка 124: | ||
КонецПроцедуры | КонецПроцедуры | ||
</code> | </code> | ||
+ | ===== Полезные ссылки ===== | ||
+ | * [[doc:1cajam|Описание SDK: "Компонента связи 1С и Asterisk"]] | ||
+ | * [[doc:1cajam:api|Все функции компоненты связи 1С и Asterisk]] | ||
+ | * [[kb:asterisk:ami:Originate|Прототип текущей функции, команда AMI Asterisk: Originate]] | ||
+ | * [[kb:asterisk:ami|Интерфейс управления сервером Asterisk (Asterisk Manager API)]] | ||
+ | * [[kb:asterisk:events|Список известных событий возвращаемых Asterisk Manager API]] | ||
===== Комментарии ===== | ===== Комментарии ===== | ||
~~DISQUS~~ | ~~DISQUS~~ |