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

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

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


astpanel:ast_miko_proxy:proxymiko_filter

Различия

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

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

Следующая версия
Предыдущая версия
astpanel:ast_miko_proxy:proxymiko_filter [2015/03/02 09:35]
apor создано
astpanel:ast_miko_proxy:proxymiko_filter [2015/03/02 09:47] (текущий)
apor [Фильтрация оповещений с АТС]
Строка 3: Строка 3:
 [[astpanel:​ast_miko_proxy|Обратно к инструкйии по прокси МИКО...]] [[astpanel:​ast_miko_proxy|Обратно к инструкйии по прокси МИКО...]]
  
-Функция позволяет гибко настроить получение только **нужных** оповещений с АТС.  +Функция позволяет гибко настроить получение только **нужных** оповещений с АТС.\\  
-Для установки фильтра необходимо использовать метод ​"[[astpanel:doc:​1cajam|SDK:​ Компонента связи 1C и Asterisk]]"​ **[[doc:​1cajam:​api:​rawcommand|RawCommand]]**.+Оповещения приходят в виде внешних событий 1С.\\ ​  
 +При использовании ​"​[[doc:​1cajam|SDK:​ Компонента связи 1C и Asterisk]]"​, для установки фильтра,​ необходимо использовать метод ​**[[doc:​1cajam:​api:​rawcommand|RawCommand]]**.
  
 В параметрах,​ передать "​**строку-фильтр**"​ в формате XML.  В параметрах,​ передать "​**строку-фильтр**"​ в формате XML. 
  
 +Описание формата XML:
 <​code>​ <​code>​
 <​ajam-filter>​ <​ajam-filter>​
  
-<filter ИмяАтрибута='​ЗначениеАтрибута'​ />+<filter ИмяАтрибута0='​ЗначениеАтрибута' /> 
 +<filter ИмяАтрибута1='​ЗначениеАтрибута1'​ ИмяАтрибута2='​ЗначениеАтрибута2'/>
  
 </​ajam-filter>​ </​ajam-filter>​
 +</​code>​
 +
 +В блоке "​ajam-filter"​ заключаются элементы-фильтры. ​
 +===== Пример #1 =====
 +
 +Фильтр по одному атрибуту.\\
 +Необходимо получить только events **Hangup** и **Bridge**:
 +<​code>​
 +<​ajam-filter>​
 + <filter event='​Hangup'​ />
 + <filter event='​Bridge'​ />
 +</​ajam-filter>​
 +</​code>​
 +
 +При таком фильтре,​ конкретный "​клиент"​ получит только перечисленные оповещения. ​
 +
 +===== Пример #2 =====
 +По соответствию **двух** атрибутов.\\
 +
 +Оповещение "​UserEvent"​ приходит в формате:​
 +<​code><​generic event="​UserEvent"​ privilege="​user,​all"​ userevent="​Interception"​
 +uniqueid="​askozia-1380423468.269"​ callerid="​201" ​
 +channel="​SIP/​SIP-PROVIDER-4035187125240654b73576-0000008b" ​
 +uniqueid="​askozia-1380423468.269"​ />
 +</​code>​
 +
 +Реализация фильтра:​
 +<​code>​
 +<​ajam-filter>​
 + <filter event='​UserEvent'​ userevent='​UserBuddyStatus'/>​
 + <filter event='​UserEvent'​ userevent='​Interception'/>​
 +</​ajam-filter>​
 +</​code>​
 +
 +===== Пример использования =====
 +<code 1c>​НашКаналФильтр = "​SIP/​104";​
 +Фильтр ="<​ajam-filter>​
 + | <​filter event='​Hangup'​ />
 + | <​filter event='​Bridge'​ />
 + | <​filter event='​ParkedCall'​ />
 + | <​filter event='​UnParkedCall'​ />
 + | <​filter event='​ParkedCallGiveUp'​ />
 + | <​filter event='​SendFAX'​ />
 + | <​filter event='​UserEvent'​ userevent='​UserBuddyStatus'/>​
 + | <​filter event='​UserEvent'​ userevent='​Interception'/>​
 + | <​filter event='​UserEvent' ​ channel='"​+НашКаналФильтр+"'/>​
 + | <​filter event='​Newchannel'/>​
 + | <​filter event='​Cdr'​ />
 + | <​filter event='​ExtensionStatus'​ status='​0'/>​
 + | <​filter event='​ExtensionStatus'​ status='​1'/>​
 + | <​filter event='​ExtensionStatus'​ status='​4'/>​
 + | <​filter event='​ExtensionStatus'​ status='​8'/>​
 + | <filter event='​Pickup'/>​
 + |</​ajam-filter>";​
 +Результат = "";​
 +Попытка
 + Command = "​Action=ajam_filter&​xml="​ + URLEncode(Фильтр);​
 + // SDK - компонента для связи с Asterisk
 + SDK.RawCommand(Command,​ Результат);​
 +Исключение
 +КонецПопытки; ​
 +
 </​code>​ </​code>​
astpanel/ast_miko_proxy/proxymiko_filter.1425288920.txt.gz · Последние изменения: 2015/03/02 09:35 — apor