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

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

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


doc:1cajam:thik

Различия

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

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

doc:1cajam:thik [2011/12/19 20:03]
nb создано
doc:1cajam:thik [2014/11/14 22:32]
Строка 1: Строка 1:
-====== Запуск компоненты mikoajam в режиме толстого клиента ====== 
- 
-===== Процедуры инициализации,​ логина и логофа ===== 
-<code 1c> 
-Перем Компонент Экспорт;​ // объявляем глобальную переменную для компонента 
- 
-Процедура Инициализация() // подключаем компонент 
-        Попытка 
- ИмяФайла="​C:​\mikoAjam.dll";​ 
-                ПодключитьВнешнююКомпоненту(ИмяФайла,"​Comp"​ ,​ТипВнешнейКомпоненты.Native);​ 
- Компонент = Новый ("​AddIn.Comp.MikoAjam"​);​ 
- Исключение 
- Сообщить("​Исключение при инициализации"​);​ 
- КонецПопытки; ​ 
-КонецПроцедуры 
- 
-Процедура Логин() //​авторизуемся на сервере Asterisk 
-        Попытка 
-                Компонент.Хост    = "​nash.asterisk.ru"; ​      // адрес сервера астериск с опубликованным ajam интерфейсом 
- Компонент.Порт    = "​8088"; ​                  // порт опубликованного ajam интерфейса 
- Компонент.Таймаут ​ = 5;                        // время в секундах на ожидание ответа Asterisk, по умолчанию 5 секунд. 
- Компонент.РежимSSL = Ложь; ​                    // режим SSL шифрования пакетов 
- result="";​ 
- Компонент.Login(МенеджерЛогин,​МенеджерПароль,​result);​ 
-                Сообщить("​Результат авторизации "​+result);​ 
- Исключение 
- Сообщить("​Исключение при установке параметров логина "​+ИнформацияОбОшибке());​ 
- КонецПопытки; ​ 
-КонецПроцедуры 
- 
-Процедура Логофф() //​разрываем соединение 
- Попытка 
- Результат="";​ 
- Компонент.Logoff(Результат);​ 
- Исключение 
- Сообщить("​Исключение при разлогинивании"​);​ 
- КонецПопытки; ​ 
-КонецПроцедуры 
- 
-</​code>​ 
- 
-===== Простейшая команда Ping ===== 
-<code 1c> 
-Процедура Ping() ​ 
- Попытка 
- respose ="";​ 
- Результат=Компонент.Ping(respose);​ 
-                Сообщить("​Результат пинга "​+Результат+"​. Ответ asterisk "​+respose );  
- Исключение 
- Сообщить("​Исключение при пинге"​);​ 
- КонецПопытки; ​ 
-КонецПроцедуры 
-</​code>​ 
- 
-===== Звонок абонента A, абоненту Б.===== 
-<code 1c> ​ 
-Процедура Originate() 
-  
- Channel = КаналАбонентаA;​ //​ Channel:​ Название канала,​ с которого совершается исходящий вызов (В том же формате,​ как если бы Вы совершали вызов этому абоненту командой Dial.) 
- Context = Контекст;​ //​ Context:​ Название контекста для совершения исходящего вызова (используется только совместно с параметрами Exten и Priority) 
- Exten = НомерАбонентаБ ;// Exten: Extension to use on connect (используется только совместно с параметрами Context и Priority) 
- Priority = "​1";​ //​ Priority:​ Priority to use on connect (используется только совместно с параметрами Context и Exten) 
- Timeout = "";​ //​ Timeout:​ Таймаут (в миллисекундах) для соединения с инициатором исходящего вызова (значение по умолчанию:​ 30000 миллисекунд). 
- CallerID = "​MIKO_Abonent";​ //​ CallerID:​ Значение CallerID, используемое для совершения исходящего вызова. 
- Variable = "";​ //​ Variable:​ Установка переменных канала (максимум 32). Переменные будут установлены для обоих каналов,​ участвующих в соединении (локального,​ для абонента от которого совершается вызов и для вызываемого канала). 
- Account = "​miko";​ //​ Account:​ Значение для “Account code” исходящего вызова. 
- Application = "";​ //​ Application:​ Команда плана набора,​ используемая для совершения исходящего вызова (используется параметр “Data”, для указания ее параметров) 
- Data = "";​ //​ Data : Параметры команды плана набора,​ используемой для совершения исходящего вызова. 
- Async = "​1";​ //​ Async:​ Если указано “true” исходящий вызов будет производиться асинхронно. Результат ее выполнения будет возвращен позже, в пакете типа “Event” (позволяет осуществлять несколько вызовов без ожидания результата предыдущей команды,​ совершающей исходящий вызов) 
- ActionID = "​123123123";​ //​ ActionID:​ Не обязательный идентификатор запроса. Позволяет сопоставить результат выполнения конкретному запросу. В качестве значения можно использовать или номер или строку. Очень полезно использовать,​ когда выполняется несколько асинхронных запросов одновременно. 
-  
- Попытка 
- Результат="";​ 
- Компонент.Originate(Channel,​Context,​Exten,​Priority,​Timeout,​CallerID,​Variable,​Account,​Application,​Data,​Async,​ActionID,​Результат);​ 
-   ​  ​       Сообщить("​Результат оригинации "​+Результат);​ 
- Исключение 
- Сообщить("​Исключение при "​+Элемент.Имя+"​ ошибка:"​+ИнформацияОбОшибке());​ 
- КонецПопытки; ​ 
-  
-КонецПроцедуры 
-</​code>​ 
- 
-===== Пример обработчика внешних событий ===== 
- 
-<code 1c> 
- 
-//​Срабатывает на каждое внешнее событие тут будем мониторить входящие звонки 
-Процедура ВнешнееСобытие(Источник,​ Событие,​ Данные) 
-  
- Если Источник="​MikoAjamEvent"​ Тогда  
-  
- Если Событие="​Hangup"​ Тогда ​   //​Положили трубку 
- //​ПРИМЕР ОТВЕТА XML строка в переменной "​Данные"​ 
- //<​generic ​ 
- //​event='​Hangup' ​ 
- //​privilege='​call,​all' ​ 
- //​sequencenumber='​53031' ​ 
- //​file='​channel.c' ​ 
- //​line='​1901' ​ 
- //​func='​ast_hangup' ​ 
- //​channel='​SIP/​263-0000013c' ​ 
- //​uniqueid='​1322225501.546' ​ 
- //​calleridnum='​263' ​ 
- //​calleridname='&​lt;​unknown&​gt;' ​ 
- //​cause='​16' ​ 
- //​cause_txt='​Normal Clearing' ​ 
- ///> 
-     
- ИначеЕсли Событие="​Bridge"​ Тогда //2 абонента соеденились и разговаривают 
- //​ПРИМЕР ОТВЕТА ​ исходящий звонок с 263 на 04 XML строка в переменной "​Данные"​ 
- //<​generic ​ 
- //​event='​Bridge' ​ 
- //​privilege='​call,​all' ​ 
- //​sequencenumber='​56804' ​ 
- //​file='​channel.c' ​ 
- //​line='​5345' ​ 
- //​func='​manager_bridge_event'​ 
- //​bridgestate='​Link'​ 
-    ​  ​       //​bridgetype='​core' ​ 
- //​channel1='​SIP/​263-0000014b' ​ 
- //​channel2='​SIP/​04-0000014c' ​ 
- //​uniqueid1='​1322226827.577' ​ 
- //​uniqueid2='​1322226827.578' ​ 
- //​callerid1='​263' ​ 
- //​callerid2='​04'​ 
- ///> 
-  
- //​Пример ответа Входящий звонок с 79265244742 на мультифонтранк XML строка в переменной "​Данные"​ 
- //<​generic ​ 
- // event='​Bridge'​ 
- // privilege='​call,​all'​ 
- // sequencenumber='​67966'​ 
- // file='​channel.c'​ 
- // line='​5345'​ 
- // func='​manager_bridge_event'​ 
- // bridgestate='​Link'​ 
- // bridgetype='​core'​ 
- // channel1='​SIP/​multifon-out-00000171'​ 
- // channel2='​SIP/​263-00000172'​ 
- // uniqueid1='​1322297638.642'​ 
- // uniqueid2='​1322297638.643'​ 
- // callerid1='​79265244742'​ 
- // callerid2='​263'​ 
- // />  
- ИначеЕсли Событие="​Unlink"​ Тогда ​ 
- //​ПРИМЕР ОТВЕТА XML строка в переменной "​Данные"​ 
- // <​generic ​ 
- // event='​Unlink' ​ 
- // privilege='​call,​all' ​ 
- // channel1='​SIP/​263-000000e0' ​ 
- // channel2='​SIP/​17-000000e1' ​ 
- // uniqueid1='​1322828367.324' ​ 
- // uniqueid2='​1322828367.325' ​ 
- // callerid1='​263'​ 
- // callerid2='​17'​ 
- // />  
-  
- ИначеЕсли Событие="​Dial"​ Тогда ​   //​Входящий звонок до поднятия трубочки 
- //​ПРИМЕР ОТВЕТА при внешнем входящем звонке с номера 79265244745 на мультифон транк XML строка в переменной "​Данные"​ 
- //<​generic ​ 
- // event='​Dial' ​ 
- // privilege='​call,​all'​ 
- // sequencenumber='​67955' ​ 
- // file='​app_dial.c' ​ 
- // line='​695' ​ 
- // func='​senddialevent' ​ 
- // subevent='​Begin' ​ 
- // channel='​SIP/​multifon-out-00000171' ​ 
- // destination='​SIP/​263-00000172' ​ 
- // calleridnum='​79265244745' ​ 
- // calleridname='​MIKOKONTRAGENT' ​ 
- // uniqueid='​1322297638.642' ​ 
- // destuniqueid='​1322297638.643' ​ 
- // dialstring='​263'​ 
- // /> 
- ИначеЕсли Событие="​Newchannel"​ Тогда 
- //​ПРИМЕР ОТВЕТА Звоню с номера 263 на номер 17 XML строка в переменной "​Данные"​ 
- //<​generic 
- // event='​Newchannel'​ 
- // privilege='​call,​all'​ 
- // sequencenumber='​83247'​ 
- // file='​channel.c'​ 
- // line='​978'​ 
- // func='​__ast_channel_alloc_ap'​ 
- // channel='​SIP/​263-000001ca'​ 
- // channelstate='​0'​ 
- // channelstatedesc='​Down'​ 
- // calleridnum='​263'​ 
- // calleridname='​device'​ 
- // accountcode=''​ 
- // exten='​17'​ 
- // context='​from-internal'​ 
- // uniqueid='​1322315915.748'​ /> 
- // /> 
-  
- //​ПРИМЕР ОТВЕТА Звоню с номера 74997623634 на номер 229-30-42 оператора МАНГО XML строка в переменной "​Данные"​ 
- //<​generic ​ 
- //​event='​Newchannel' ​ 
- //​privilege='​call,​all' ​ 
- //​channel='​SIP/​mangotrunk-0000016b'​ 
- //​channelstate='​0'​ 
- //​channelstatedesc='​Down' ​ 
- //​calleridnum='​74997623634'​ 
- //​calleridname='​74997623634'​ 
- //​accountcode='' ​ 
- //​exten='​info'​ 
- //​context='​from-trunk-sip-mangotrunk'​ 
- //​uniqueid='​1323941846.598'​ /> 
- ИначеЕсли Событие="​Cdr"​ Тогда  
- ИначеЕсли Событие="​ReceiveFAX"​ Тогда  
- //​ПРИМЕР ОТВЕТА получаем факс XML строка в переменной "​Данные"​ 
- //<​generic 
- // event='​ReceiveFAX'​ 
- // privilege='​call,​all'​ 
- // sequencenumber='​508724'​ 
- // file='​res_fax.c'​ 
- // line='​1654'​ 
- // func='​receivefax_exec'​ 
- // channel='​SIP/​mangotrunk-00000a37'​ 
- //​ context='​ext-fax'​ 
- //​ exten='​s'​ 
- //​ callerid='​A16551705P1'​ 
- //​ remotestationid='​(null)'​ 
- //​ localstationid='​(null)'​ 
- //​ pagestransferred='​0'​ 
- //​ resolution='​(null)'​ 
- //​ transferrate='​(null)'​ 
- //​ filename='/​var/​spool/​asterisk/​fax/​1322812029.3901.tif'​ 
- // /> 
-  
- ИначеЕсли Событие="​SendFAX"​ Тогда  
- //​ПРИМЕР ОТВЕТА отправляем факс XML строка в переменной "​Данные"​ 
- // <generic 
- // event='​SendFAX'​ 
- // privilege='​call,​all'​ 
- // sequencenumber='​506205'​ 
- // file='​res_fax.c'​ 
- // line='​2155'​ 
- // func='​sendfax_exec'​ 
- // channel='​SIP/​263-00000a31'​ 
- // context='​amidll'​ 
- // exten='​333'​ 
- // callerid='​263'​ 
- // remotestationid='​(null)'​ 
- // localstationid='​(null)'​ 
- // pagestransferred='​0'​ 
- // resolution='​(null)'​ 
- // transferrate='​(null)'​ 
- // filename='/​var/​spool/​asterisk/​tmp/​SIP-261-fax.tif'​ 
- // /> 
- КонецЕсли;​ //Виду события 
-  
- КонецЕсли;​ // Если ЭтоМИКО КОМПОНЕНТА 
-  
-КонецПроцедуры 
-</​code>​ 
  
doc/1cajam/thik.txt · Последние изменения: 2014/11/14 22:32 (внешнее изменение)