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

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

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


doc:1cajam:thin

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:1cajam:thin [2011/12/18 06:38]
a.portnov
doc:1cajam:thin [2014/11/14 22:32] (текущий)
Строка 9: Строка 9:
 <code 1c> <code 1c>
         &​НаКлиенте         &​НаКлиенте
- // Процедура должна вызываться лишь один раз при первичной установке компонента,​ либо при обновлении его версии+ // Процедура должна вызываться лишь один раз при первичной установке компонента,​ 
 +        // либо при обновлении его версии
  Процедура УстановитьКомпонент()  Процедура УстановитьКомпонент()
     ​АдресАрхиваКомпонента = "​Обработка.МИКО_ПанельТелефонииДляCRM.Макет.AddInWindows32";​     ​АдресАрхиваКомпонента = "​Обработка.МИКО_ПанельТелефонииДляCRM.Макет.AddInWindows32";​
Строка 21: Строка 22:
  
 в этом случае компонент,​ упакованный в ZIP архив расположен в макете обработки. Далеев режиме 1С предприятия необходимо инициализировать вызов этой процедуры:​ в этом случае компонент,​ упакованный в ZIP архив расположен в макете обработки. Далеев режиме 1С предприятия необходимо инициализировать вызов этой процедуры:​
-{{ :​doc:​1cajam:​uspeshnaja_ustanovka.jpg? |}}+ 
 +{{ :​doc:​1cajam:​ustanovit_komponent.png |}}
  
 В случае успешной установки компонента,​ в каталоге **%APPDATA%\1C\1Cv82\ExtCompT** (для windows 7) будет распакован файл компонента. Рядом с распакованным файлом в файл **registry.xml** будут дописаны сведения об установленном компоненте. Пример registry.xml файла: В случае успешной установки компонента,​ в каталоге **%APPDATA%\1C\1Cv82\ExtCompT** (для windows 7) будет распакован файл компонента. Рядом с распакованным файлом в файл **registry.xml** будут дописаны сведения об установленном компоненте. Пример registry.xml файла:
Строка 100: Строка 102:
  
 ===== Пинг ===== ===== Пинг =====
 +[[doc:​1cajam:​api:​ping|Описание:​Ping]]
 +Пример процедуры для проверки соединения с Asterisk:
 +
 <code 1c> <code 1c>
  &​НаКлиенте   &​НаКлиенте
Строка 117: Строка 122:
 </​code>​ </​code>​
  
 +===== Выполнение произвольной команды Asterisk (Command) =====
  
 +[[doc:​1cajam:​api:​Command|Описание Command]]
  
 +
 +<code 1c>
 + &​НаКлиенте
 + Процедура CommandНажатие(Элемент)
 + Command = ПрозвольнаяКоманда;​ // Command: Asterisk команда CLI интерфейса. (Не команда шелла!)
 + ActionID = "​110"; ​     //​ ActionID:​ Необязательный ID команды,​ который будет возвращен в ответе.
 +
 + Если Компонент = Неопределено Тогда
 + Сообщить("​Компонент не подключен"​);​
 + Возврат;​
 + КонецЕсли; ​
 +
 + Попытка
 + //​Результат=Компонент.command(Command,​ActionID);​
 + Результат="";​
 + Компонент.doc:​1cami:​api:​Command(Command,​ActionID,​Результат);​
 + Исключение
 + Сообщить("​Исключение при отправке произвольной комманды ");
 + КонецПопытки; ​
 +
 + Сообщить("​Результат комманды "​+Результат);​
 +
 + КонецПроцедуры
 +</​code>​
 +
 +===== Инициализация звонка (Originate) =====
 +[[doc:​1cajam:​api:​Originate|Описание:​Originate]]
 +Пример процедуры инициализации исходящего вызова:​
 +
 +<code 1c>​ &​НаКлиенте
 + // http://​wiki.miko.ru/​doc:​1cami:​api:​Originate
 + Процедура Originate(Команда)
 +
 + Channel = НашКаналФильтр;​ //​ Channel:​ Название канала,​ с которого совершается исходящий вызов ​
 + Context = Контекст;​ //​ Context:​ Название контекста для совершения исходящего вызова ​
 + Exten = КомуЗвонимНомер;//​ Exten:​ Extension to use on connect
 + Priority = "​1";​ //​ Priority:​ Priority to use on connect ​
 + Timeout = "";​ //​ Timeout:​ Таймаут (в миллисекундах) для соединения с инициатором ​
 + CallerID = "​MIKO_Abonent";​ //​ CallerID:​ Значение CallerID, используемое для совершения исходящего вызова.
 + Variable = "";​ //​ Variable:​ Установка переменных канала (максимум 32). 
 + Account = "​miko";​ //​ Account:​ Значение для “Account code” исходящего вызова.
 + Application = "";​ //​ Application:​ Команда плана набора
 + Data = "";​ //​ Data : Параметры команды плана набора
 + Async = "​1";​ //​ Async:​ Если указано “true” исходящий вызов будет производиться асинхронно.
 + ActionID = "​114";​ //​ ActionID:​ Не обязательный идентификатор запроса. ​
 +
 +
 + Если Компонент = Неопределено Тогда
 + Сообщить("​Компонент не подключен"​);​
 + Возврат;​
 + КонецЕсли; ​
 +
 + Попытка
 + Компонент.Originate(Channel,​Context,​Exten,​Priority,​Timeout,​
 + CallerID,​Variable,​Account,​Application,​
 + Data,​Async,​ActionID,​Результат);​
 + Исключение
 + Сообщить("​Исключение при, ошибка"​);​
 + КонецПопытки; ​
 +
 + Сообщить("​Результат оригинации "​+Результат);​
 +
 + КонецПроцедуры
 +</​code>​
 +
 +
 +===== Запись разговора (Monitor) =====
 +
 +[[doc:​1cajam:​api:​Monitor|Описание:​Monitor]]
 +
 +<code 1c>​ &​НаКлиенте
 + Процедура Monitor(Команда)
 + Channel = АктивныйКанал1;​
 + File = "";​ //​ File:​ Не обязательный параметр. Имя файла, которое будет ​
 + Format1C = "​wav";​ //​ Format:​ Не обязательный параметр. Формат,​ в котором будет сохранен звуковой файл.
 + Mix = "​1";​ //​ Mix:​ Не обязательный булевой параметр. Определяет,​ миксировать или нет поступающий ​
 + //и исходящий из канала аудиопоток после окончания записи.
 +
 + ActionID = "​115";​ //​ ActionID:​ Необязательный ID команды,​ который будет возвращен в ответе.
 +
 + Если Компонент = Неопределено Тогда
 + Сообщить("​Компонент не подключен"​);​
 + Возврат;​
 + КонецЕсли; ​
 +
 + Попытка
 + //​Результат=Компонент.Monitor(Channel,​File,​Format1C,​Mix,​ActionID);​
 + Результат="";​
 + Компонент.Monitor(Channel,​File,​Format1C,​Mix,​ActionID,​Результат);​
 + Исключение
 + Сообщить("​Исключение при выполнении "​+Команда.Имя+"​ ошибка"​);​
 + КонецПопытки; ​
 +
 + Сообщить("​Результат команды "​+Команда.Имя+"​ "​+Результат);​
 +
 + КонецПроцедуры
 +</​code>​
 +
 +===== Остановка записи разговора (StopMonitor) =====
 +[[doc:​1cajam:​api:​stopmonitor|Команда Asterisk Manager API: StopMonitor]]
 +<code 1c>​ &​НаКлиенте
 + //
 + Процедура StopMonitor(Команда)
 + Channel = АктивныйКанал1;​ //​ Channel:​ Канал, для которого нужно прекратить запись вызова
 + // например:​ SIP/​1310-089e1000 (обязательный параметр)
 +
 + ActionID= "​116";​ //​ ActionID:​ Не обязательный ID команды,​ который будет возвращен в ответе.
 +
 + Если Компонент = Неопределено Тогда
 + Сообщить("​Компонент не подключен"​);​
 + Возврат;​
 + КонецЕсли; ​
 +
 + Попытка
 + Результат="";​
 + Компонент.StopMonitor(Channel,​ActionID,​Результат);​
 + Исключение
 + Сообщить("​Исключение при выполнении "​+Команда.Имя+"​ ошибка:​ "​+ИнформацияОбОшибке());​
 + КонецПопытки; ​
 +
 + Сообщить("​Результат команды "​+Команда.Имя+"​ "​+Результат);​
 +
 + КонецПроцедуры
 +</​code>​
 +
 +
 +===== Донабор номера (PlayDTMF) =====
 +
 +<code 1c>​ &​НаКлиенте
 + Процедура PlayDTMF(Команда)
 + Channel = АктивныйКанал1;​ //​ Channel:​ Имя канала,​ в который нужно отправить ​
 + // DTMF последовательность. (Обязательный параметр)
 +
 + Digit = Строка(СигналDTMF);​ //​ Digit:​ DTMF последовательность,​
 + // которую нужно отправить. (Обязательный параметр)
 +
 + ActionID = "​117";​ //​ ActionID:​ Необязательный ID команды, ​
 + // который будет возвращен в ответе.
 +
 + Если Компонент = Неопределено Тогда
 + Сообщить("​Компонент не подключен"​);​
 + Возврат;​
 + КонецЕсли; ​
 +
 + Попытка
 + Результат="";​
 + Компонент.PlayDTMF(Channel,​Digit,​ActionID,​Результат);  ​
 + Исключение
 + Сообщить("​Исключение при выполнении "​+Элемент.Имя+"​ ошибка:​ "​+ИнформацияОбОшибке());​
 + КонецПопытки; ​
 +
 + Сообщить("​Результат команды "​+Элемент.Имя+"​ "​+Результат);​
 +
 + КонецПроцедуры
 +</​code>​
 +
 +===== Положить трубку (Hangup) =====
 +[[doc:​1cajam:​api:​hangup|Описание:​ Hangup]]
 +
 +
 +<code 1c>​ &​НаКлиенте
 + Процедура Hangup(Команда)
 + Результат="";​
 + Channel = АктивныйКанал1;​ //​ Channel:​ Канал, на котором необходимо закончить вызов.
 + ActionID = "​120";​ //​ ActionID:​ Необязательный ID команды,​ который будет возвращен в ответе.
 +
 + Если Компонент = Неопределено Тогда
 + Сообщить("​Компонент не подключен"​);​
 + Возврат;​
 + КонецЕсли; ​
 +
 + Попытка
 + Компонент.Hangup(Channel,​ActionID,​Результат);​
 + Исключение
 + Сообщить("​Исключение при выполнении "​+Команда.Имя+"​ ошибка:​ "​+ИнформацияОбОшибке());​
 + КонецПопытки; ​
 +
 + Сообщить("​Результат команды "​+Команда.Имя+"​ "​+Результат);​
 +
 + КонецПроцедуры
 +</​code>​
 +
 +===== Без консультативный перевод звонка=====
 +[[doc:​1cajam:​api:​redirect|Описание:​ Redirect]]
 +
 +<code 1c>​ &​НаКлиенте
 + // Инициирование перевода звонка
 + Процедура Redirect(Команда)
 +
 + Channel = АктивныйКанал1;​ //​ Channel: Название канала,​ для которого производиться перевод вызова (обязательный параметр).
 + ExtraChannel= АктивныйКанал2;​ //​ ExtraChannel:​ Название канала второго плеча вызова (второй абонент),​
 + // который тоже участвует при переводе вызова (не обязательный параметр).
 +
 + Exten = НомерКудаПереводимЗвонокRedirect;//​ Exten: Название екстеншена в плане набора,​ куда переводиться вызов
 + Context = Контекст;​ //​ Context: Название контекста в плане набора,​ куда переводиться вызов
 + Priority= "​1";​ //​ Priority: Номер приоритета в плане набора,​ куда переводиться вызов
 + ActionID= "​119";​  ​   //​ ActionID:​ Не обязательный ID команды,​ который будет возвращен в ответе.
 +
 + Если Компонент = Неопределено Тогда
 + Сообщить("​Компонент не подключен"​);​
 + Возврат;​
 + КонецЕсли; ​
 +
 + Попытка
 + Результат="";​
 + Компонент.Redirect(Channel,​ExtraChannel,​Exten,​Context,​Priority,​ActionID,​Результат);​
 + Исключение
 + Сообщить("​Исключение при выполнении "​+Команда.Имя+"​ ошибка:​ "​+ИнформацияОбОшибке());​
 + КонецПопытки; ​
 +
 + Сообщить("​Результат команды "​+Команда.Имя+"​ "​+Результат);​
 +
 + КонецПроцедуры
 +</​code>​
 +
 +===== Перевод консультационный =====
 +[[doc:​1cajam:​api:​atxfer|Описание:​ Atxfer]]
 +<code 1c>​ &​НаКлиенте
 + Процедура Atxfer(Команда)
 +
 + Channel = АктивныйКанал1;​ //  Channel - Название канала,​ для которого производиться перевод вызова ​
 + Context = Контекст;//​ Context - Название контекста в плане набора,​ куда переводиться вызов ​
 + Exten = КудаПереводимЗвонокAtxfer;//​ Exten -Название екстеншена в плане набора,​ куда переводиться вызов ​
 + Priority="​1"; ​  //​ Priority - Номер приоритета в плане набора,​ куда переводиться вызов (обязательный параметр)
 + ActionID="​118";​ //​ ActionID -Не обязательный ID команды,​ который будет возвращен в ответе.
 +
 + Если Компонент = Неопределено Тогда
 + Сообщить("​Компонент не подключен"​);​
 + Возврат;​
 + КонецЕсли; ​
 +
 + Попытка
 + Результат="";​
 + Компонент.Atxfer(Channel,​Context,​Exten,​Priority,​ActionID,​Результат);​
 + Исключение
 + Сообщить("​Исключение при выполнении "​+Элемент.Имя+"​ ошибка:​ "​+ИнформацияОбОшибке());​
 + КонецПопытки; ​
 +
 + Сообщить("​Результат команды "​+Элемент.Имя+"​ "​+Результат);​
 +
 + КонецПроцедуры
 +
 +</​code>​
  
  
doc/1cajam/thin.1324190316.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)