Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:1cajam:listening [2012/01/30 11:28] nb |
doc:1cajam:listening [2014/11/14 22:32] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Прослушивание событий передаваемых сервером Asterisk из 1С ====== | + | ====== Прослушивание событий, передаваемых сервером Asterisk из 1С ====== |
- | После инициализации и авторизации компонента на сервере Asterisk, между компонентом и сервером устанавливается HTTP соединение, по которому сервер телефонии передает информацию о текущем состоянии каналов, вызовов, а так же результат выполнения различных команд. Полученный ответы разбираются компонентом при помощи встроенного XML парсера и вызывают в сеансе 1С предприятия встроенную функцию *ВнешнееСобытие*. | + | После инициализации и авторизации компонента на сервере Asterisk между компонентом и сервером устанавливается HTTP соединение, по которому сервер телефонии передает информацию о текущем состоянии каналов, вызовов, а так же результат выполнения различных команд. Полученные ответы разбираются компонентом при помощи встроенного XML парсера и вызывают в сеансе 1С:Предприятия встроенную функцию *ВнешнееСобытие*. |
<note tip>Вызов функции возникает при посылке внешним приложением сообщения, сформированного в специальном формате. Внешнее событие сначала обрабатывается всеми открытыми формами, имеющими обработчик этого события, а затем может быть обработано в процедуре модуля обычного приложения с именем ОбработкаВнешнегоСобытия. | <note tip>Вызов функции возникает при посылке внешним приложением сообщения, сформированного в специальном формате. Внешнее событие сначала обрабатывается всеми открытыми формами, имеющими обработчик этого события, а затем может быть обработано в процедуре модуля обычного приложения с именем ОбработкаВнешнегоСобытия. | ||
</note> | </note> | ||
- | Таким образом все события компоненты можно обработать в любой открытой форме или в модуле обычного приложения. В качестве переменных используются 3 строковых параметра: | + | Таким образом, все события компонента можно обработать в любой открытой форме или в модуле обычного приложения. В качестве переменных используются 3 строковых параметра: |
* Источник - Источник внешнего события. | * Источник - Источник внешнего события. | ||
* Событие - Наименование события. | * Событие - Наименование события. | ||
Строка 12: | Строка 12: | ||
В параметр *Источник* всегда передается строка //MikoAjamEvent// которая позволяет однозначно идентифицировать события отправленные компонентой. | В параметр *Источник* всегда передается строка //MikoAjamEvent// которая позволяет однозначно идентифицировать события отправленные компонентой. | ||
- | В параметр *Событие* передается наименование [[kb:asterisk:events|события Asterisk]] или строки //Error//, //Exeption// свидетельствующие о возникновении нештатной ситуации, например разрыв связи с Asterisk. | + | В параметр *Событие* передается наименование [[kb:asterisk:events|события Asterisk]] или строки //Error//, //Exeption//, свидетельствующие о возникновении нештатной ситуации, например разрыв связи с Asterisk. |
- | В параметр *Данные* передается XML строка содержащая весь пакет данных полученных от сервера Acterisk без каких либо модификаций или техническую информацию о ошибке в работе компонента. | + | В параметр *Данные* передается XML строка, содержащая весь пакет данных, полученных от сервера Acterisk без каких либо модификаций или техническую информацию о ошибке в работе компонента. |
Стандартный вид обработки внешнего события компоненты выглядит так: | Стандартный вид обработки внешнего события компоненты выглядит так: | ||
Строка 44: | Строка 44: | ||
///> | ///> | ||
- | ИначеЕсли Событие="Bridge" Тогда //2 абонента соеденились и разговаривают | + | ИначеЕсли Событие="Bridge" Тогда //2 абонента соединились и разговаривают |
//ПРИМЕР ОТВЕТА В ПЕРЕМЕННОЙ "ДАННЫЕ" исходящий звонок с 263 на 04 | //ПРИМЕР ОТВЕТА В ПЕРЕМЕННОЙ "ДАННЫЕ" исходящий звонок с 263 на 04 | ||
//<generic | //<generic | ||
Строка 390: | Строка 390: | ||
| | ||
- | В приведенном выше коде мы проиллюстрировали возможный вариант обработки внешних событий компонента. Данные переданные в параметр *Данные* представляют из себя XML структуру которую можно разобрать используя функцию ЧтениеXML языка 1С:Предрпиятие 8. | + | В приведенном выше коде мы проиллюстрировали возможный вариант обработки внешних событий компонента. Данные, переданные в параметр *Данные*, представляют из себя XML структуру, которую можно разобрать, используя функцию ЧтениеXML языка 1С:Предприятие 8. |
Строка 410: | Строка 410: | ||
| | ||
- | Например при использовании WEB клиента Mozilla Firefox мы реализовали разбор ответа следующим образом: | + | Например, при использовании WEB клиента Mozilla Firefox мы реализовали разбор ответа следующим образом: |
<code 1c> | <code 1c> | ||
&НаКлиенте | &НаКлиенте | ||
Строка 485: | Строка 485: | ||
* [[kb:asterisk:events|Asterisk Manager: Events]] | * [[kb:asterisk:events|Asterisk Manager: Events]] | ||
+ | |||
+ | ===== Комментарии ===== | ||
+ | ~~DISQUS~~ | ||