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

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

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


astpanel:ast_miko_proxy:proxymiko_filter

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
astpanel:ast_miko_proxy:proxymiko_filter [2015/03/02 09:37]
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. 
Строка 18: Строка 19:
 </​code>​ </​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 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='​ChanSpyStart'​ spyerchannel='"​+НашКаналФильтр+"'/>​ 
- | <​filter event='​ChanSpyStart'​ spyeechannel='"​+НашКаналФильтр+"'/>​ 
- | <​filter event='​ChanSpyStop'/>​ 
- | <​filter event='​Dial'​ subevent='​End'​ dialstatus='​!Answer'​ /> 
- | <​filter event='​Dial'​ subevent='​Begin'​ channel='"​+НашКаналФильтр+"'/>​ 
- | <​filter event='​Dial'​ subevent='​Begin'​ destination='"​+НашКаналФильтр+"'/>​ 
- | <filter event='​Pickup'/>​ 
- |</​ajam-filter>";​ 
- Результат = "";​ 
- Попытка 
- Command = "​Action=ajam_filter&​xml="​ + URLEncode(Фильтр);​ 
- // SDK - компонента для связи с Asterisk 
- SDK.RawCommand(Command,​ Результат);​ 
- Исключение 
- КонецПопытки; ​ 
 </​code>​ </​code>​
astpanel/ast_miko_proxy/proxymiko_filter.1425289027.txt.gz · Последние изменения: 2015/03/02 09:37 — apor