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

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

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


astpanel:ats:asterisk:environments_v6

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
astpanel:ats:asterisk:environments_v6 [2013/11/25 18:45]
apor [Проверка]
astpanel:ats:asterisk:environments_v6 [2018/06/08 09:14] (текущий)
apor [Dialplan Вариант 2]
Строка 1: Строка 1:
 ====== 10000111. Настройка передачи общих параметров системы из Asterisk ====== ====== 10000111. Настройка передачи общих параметров системы из Asterisk ======
 +[[astpanel:​ats:​asterisk_v6|Обратно к основной инструкции...]]
 ===== Описание ===== ===== Описание =====
 +
 +<note important>​**В этой статье описан алгоритм работы**. Пример реализации описан в [[http://​wiki.miko.ru/​astpanel:​dialplan_miko_ajam | статье]] </​note> ​
 +
 В плане набора должен быть описан контекст **miko_ajam**.\\ В плане набора должен быть описан контекст **miko_ajam**.\\
 В контексте miko_ajam определяется extension с номером **10000111**.\\ В контексте miko_ajam определяется extension с номером **10000111**.\\
Строка 12: Строка 16:
 **Переменные канала** \\ **Переменные канала** \\
   * v1 - канал пользователя,​ который инициировал originate   * v1 - канал пользователя,​ который инициировал originate
- 
 ===== Действие ===== ===== Действие =====
 Приложение должно выполнить команду плана набора **UserEvent** и передать настройки:​ Приложение должно выполнить команду плана набора **UserEvent** и передать настройки:​
-<​code>​exten => 10000111,​n,​UserEvent(AsteriskSettings,​Channel: ${v1},​FaxSendUrl:​ ${FaxSendUrl},​GhostScriptVer:​ ${GSVER},​DefaultContext:​ ${DefaultContext},​SkypeContext:​ ${SkypeContext},​DialplanVer:​ ${DialplanVer})</​code>​+<​code>​exten => 10000111,​n,​UserEvent(AsteriskSettings,​chan1c: ${v1},​FaxSendUrl:​ ${FaxSendUrl},​GhostScriptVer:​ ${GSVER},​DefaultContext:​ ${DefaultContext},​SkypeContext:​ ${SkypeContext},​DialplanVer:​ ${DialplanVer})</​code>​
  
 Далее приложение должно оповестить о завершении работы:​ Далее приложение должно оповестить о завершении работы:​
-<​code>​exten => 10000111,​n,​UserEvent(HintsEnd,​Channel: ${v1})</​code>​ +<​code>​exten => 10000111,​n,​UserEvent(HintsEnd,​chan1c: ${v1})</​code>​
 ===== Описание параметров ===== ===== Описание параметров =====
   * **${Channel}** - имя канала,​ запросившего настройки **${v1}**   * **${Channel}** - имя канала,​ запросившего настройки **${v1}**
Строка 41: Строка 43:
 ===== Примеры:​ ===== ===== Примеры:​ =====
  
-==== Dialplan ====+==== Dialplan ​Вариант 1 ==== 
 +<​code>​[miko_ajam] 
 +exten => 10000111,​1,​NoOP(Settings Asterisk) 
 +
 +; FaxSendUrl - ресурс скрипта загрузки файла факса, 80 - порт, "/​admin/​1c/​upload/​index.php"​ - ресурс 
 +exten => 10000111,​n,​Set(FaxSendUrl=80/​admin/​1c/​upload/​index.php) 
 +
 +; DefaultContext - контекст для звонков "по умолчанию"​ 
 +; этот контекст ​ будет использован,​ если для SIP учетки пользователя контекст не указан. 
 +exten => 10000111,​n,​Set(DefaultContext=from-internal) 
 +
 +; SkypeContext - диалплан для исходящих звонков на скайп 
 +exten => 10000111,​n,​Set(SkypeContext=from-skype) 
 +;​GhostScriptVer - оставить пустым,​ если работа с ним не возможна. в этом случае конвертация pdf в tiff должна быть реализована со стороны 1С. 
 +exten => 10000111,​n,​Set(GhostScriptVer=8.70) ;  
 +;  
 +; DialplanVer - не менять! 
 +exten => 10000111,​n,​Set(DialplanVer=1.0.0.6) 
 +
 +exten => 10000111,​n,​UserEvent(AsteriskSettings,​chan1c:​ ${v1},​FaxSendUrl:​ ${FaxSendUrl},​GhostScriptVer:​ ${GSVER},​DefaultContext:​ ${DefaultContext},​SkypeContext:​ ${SkypeContext},​DialplanVer:​ ${DialplanVer}) 
 +
 +exten => 10000111,​n,​UserEvent(HintsEnd,​chan1c:​${v1}) 
 +exten => 10000111,​n,​Answer() 
 +exten => 10000111,​n,​Hangup()</​code>​
  
 +==== Dialplan Вариант 2 ====
 <​code>​[miko_ajam] <​code>​[miko_ajam]
 exten => 10000111,​1,​NoCDR() exten => 10000111,​1,​NoCDR()
 exten => 10000111,​n,​Noop(internal calling application:​ 10000111 1С_SetupEnv) exten => 10000111,​n,​Noop(internal calling application:​ 10000111 1С_SetupEnv)
 exten => 10000111,​n,​AGI(1C_SetupEnv.php) exten => 10000111,​n,​AGI(1C_SetupEnv.php)
-exten => 10000111,​n,​Hangup</​code>​+exten => 10000111,​n,​Hangup</​code> ​
  
-==== PHP AGI скрипт ​====+=== PHP AGI скрипт ===
  
-<​code ​1c>#​!/​usr/​bin/​php -q+<​code ​>#​!/​usr/​bin/​php -q
 <?php <?php
 +// Получение переменной AGI канала
 +//
 +function GetVarChannnel($agi,​ $_varName){
 +  $v = $agi->​get_variable($_varName);​
 +  if(!$v['​result'​] == 0){
 +    return $v['​data'​];​
 +  }
 +  else{
 +    return "";​
 +  }
 +} // GetVarChannnel($_agi,​ $_varName)
 require_once('​phpagi.php'​);​ require_once('​phpagi.php'​);​
  
Строка 65: Строка 102:
     ​     ​
 $agi->​exec("​UserEvent", ​  "​AsteriskSettings"​ $agi->​exec("​UserEvent", ​  "​AsteriskSettings"​
- .",Channel:​$Chan"​+ .",chan1c:​$Chan"​
     .",​FaxSendUrl:​$FaxSendUrl"​     .",​FaxSendUrl:​$FaxSendUrl"​
     .",​DefaultContext:​$DefaultContext"​     .",​DefaultContext:​$DefaultContext"​
Строка 106: Строка 143:
 Context: miko_ajam Context: miko_ajam
 Extension: 10000111 Extension: 10000111
-Callerid: Alexey<​104>​ 
 Set: v1=SIP/​104";​ Set: v1=SIP/​104";​
  
Строка 122: Строка 158:
     -- Executing [10000111@miko_ajam:​3] AGI("​SIP/​104-00000000",​ "​1C_SetupEnv.php"​) in new stack     -- Executing [10000111@miko_ajam:​3] AGI("​SIP/​104-00000000",​ "​1C_SetupEnv.php"​) in new stack
     -- Launched AGI Script /​var/​lib/​asterisk/​agi-bin/​1C_SetupEnv.php     -- Launched AGI Script /​var/​lib/​asterisk/​agi-bin/​1C_SetupEnv.php
-    -- AGI Script Executing Application:​ (UserEvent) Options: (AsteriskSettings,​Channel:​SIP/​104,​FaxSendUrl:​80/​admin/​1c/​upload/​index.php,​DefaultContext:,​SkypeContext:,​DialplanVer:​1.0.0.6,​autoanswernumber:​**,​Statistic:,​GhostScriptVer:​8.70)+    -- AGI Script Executing Application:​ (UserEvent) Options: (AsteriskSettings,​Channel:​SIP/​104,​FaxSendUrl:​80/​admin/​1c/​upload/​index.php,​DefaultContext:,​SkypeContext:,​DialplanVer:​1.0.0.6,​autoanswernumber:​**,​Statistic:​user:pass,​GhostScriptVer:​8.70)
     -- AGI Script Executing Application:​ (UserEvent) Options: (HintsEnd,​Channel:​SIP/​104)     -- AGI Script Executing Application:​ (UserEvent) Options: (HintsEnd,​Channel:​SIP/​104)
     -- <​SIP/​104-00000000>​AGI Script 1C_SetupEnv.php completed, returning 0     -- <​SIP/​104-00000000>​AGI Script 1C_SetupEnv.php completed, returning 0
     -- Executing [10000111@miko_ajam:​4] Hangup("​SIP/​104-00000000",​ ""​) in new stack     -- Executing [10000111@miko_ajam:​4] Hangup("​SIP/​104-00000000",​ ""​) in new stack
   == Spawn extension (miko_ajam, 10000111, 4) exited non-zero on '​SIP/​104-00000000'</​code>​   == Spawn extension (miko_ajam, 10000111, 4) exited non-zero on '​SIP/​104-00000000'</​code>​
 +  ​
 +=== Вывод в AMI ===
 +
 +<note important>​Обязательно наличие событий "​UserEvent:​ **AsteriskSettings**"​ и "​UserEvent:​ **HintsEnd**"​!
 +
 +</​note>​
 +<​code>​Event:​ UserEvent
 +Privilege: user,all
 +UserEvent: AsteriskSettings
 +Uniqueid: 1412018840.1
 +Channel:​SIP/​1001
 +FaxSendUrl:​80/​admin/​1c/​upload/​index.php
 +DefaultContext:​
 +SkypeContext:​
 +DialplanVer:​1.0.0.6
 +autoanswernumber:​**
 +Statistic:​user:​pass
 +GhostScriptVer:​8.70
 +
 +Event: UserEvent
 +Privilege: user,all
 +UserEvent: HintsEnd
 +Uniqueid: 1412018840.1
 +Channel:​SIP/​1001
 +
 +Event: Hangup
 +Privilege: call,all
 +Channel: SIP/​1001-00000001
 +Uniqueid: 1412018840.1
 +CallerIDNum:​ <​unknown>​
 +CallerIDName:​ <​unknown>​
 +ConnectedLineNum:​ <​unknown>​
 +ConnectedLineName:​ <​unknown>​
 +AccountCode: ​
 +Cause: 16
 +Cause-txt: Normal Clearing
 +</​code>​
 +  ​
 +[[astpanel:​ats:​asterisk_v6|Обратно к основной инструкции...]]
astpanel/ats/asterisk/environments_v6.1385405109.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)