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

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

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


astpanel:ats:asterisk:auto_answer

Это старая версия документа!


Пример dialplan

[internal]
; direct pickup
exten => _*8.,1,Pickup(${FILTER(0-9,${EXTEN:2})}@PICKUPMARK)
exten => _*8.,n,PickupChan(${CTICHANNEL})

Проверка

Получение значения из AstDB

#!/bin/sh
dir_script='/tmp/';
# каталог из asterisk.conf
astspooldir='/storage/usbdisk1/askoziapbx/voicemailarchive';
SIPADDHEADER='Call-Info:\;answer-after=0';
#
call_text="Channel: SIP/132
Context: miko_ajam
Extension: 10000222
Callerid: Alexey<104>
Setvar: command=get
Setvar: dbFamily=CF
Setvar: key=104
Setvar: chan=SIP/104
Setvar: SIPADDHEADER=$SIPADDHEADER";

echo "$call_text" > /tmp/file.call;
mv '/tmp/file.call' "$astspooldir/outgoing/";

asterisk -rvvv;

Вывод в консоли CLI

<SIP/132-00000011>AGI Rx << GET VARIABLE "command"
<SIP/132-00000011>AGI Tx >> 200 result=1 (get)
<SIP/132-00000011>AGI Rx << GET VARIABLE "dbFamily"
<SIP/132-00000011>AGI Tx >> 200 result=1 (CF)
<SIP/132-00000011>AGI Rx << GET VARIABLE "key"
<SIP/132-00000011>AGI Tx >> 200 result=1 (104)
<SIP/132-00000011>AGI Rx << GET VARIABLE "val"
<SIP/132-00000011>AGI Tx >> 200 result=0
<SIP/132-00000011>AGI Rx << GET VARIABLE "chan"
<SIP/132-00000011>AGI Tx >> 200 result=1 (SIP/104)
<SIP/132-00000011>AGI Rx << DATABASE GET CF 104
<SIP/132-00000011>AGI Tx >> 200 result=1 (798552)
<SIP/132-00000011>AGI Rx << EXEC UserEvent DB_CF|"сhannel:SIP/104"|"key:104"|"val:798552"
    -- AGI Script Executing Application: (UserEvent) Options: (DB_CF|сhannel:SIP/104|key:104|val:798552)
<SIP/132-00000011>AGI Tx >> 200 result=0
    -- <SIP/132-00000011>AGI Script /tmp/1C_Set_Status.sh completed, returning 0
    -- Executing [10000222@miko_ajam:3] Answer("SIP/132-00000011", "") in new stack
    -- Executing [10000222@miko_ajam:4] Hangup("SIP/132-00000011", "") in new stack
  == Spawn extension (miko_ajam, 10000222, 4) exited non-zero on 'SIP/132-00000011'

Установка значения в AstDB

#!/bin/sh
dir_script='/tmp/';
# каталог из asterisk.conf
astspooldir='/storage/usbdisk1/askoziapbx/voicemailarchive';
SIPADDHEADER='Call-Info:\;answer-after=0';
#
call_text="Channel: SIP/132
Context: miko_ajam
Extension: 10000222
Callerid: Alexey<104>
Setvar: command=put
Setvar: dbFamily=CF
Setvar: key=104
Setvar: val=79257184222
Setvar: chan=SIP/104
Setvar: SIPADDHEADER=$SIPADDHEADER";

echo "$call_text" > /tmp/file.call;
mv '/tmp/file.call' "$astspooldir/outgoing/";

asterisk -rvvv;

Вывод в консоль CLI

<SIP/132-00000013>AGI Tx >> 
<SIP/132-00000013>AGI Rx << GET VARIABLE "command"
<SIP/132-00000013>AGI Tx >> 200 result=1 (put)
<SIP/132-00000013>AGI Rx << GET VARIABLE "dbFamily"
<SIP/132-00000013>AGI Tx >> 200 result=1 (CF)
<SIP/132-00000013>AGI Rx << GET VARIABLE "key"
<SIP/132-00000013>AGI Tx >> 200 result=1 (104)
<SIP/132-00000013>AGI Rx << GET VARIABLE "val"
<SIP/132-00000013>AGI Tx >> 200 result=1 (79257184222)
<SIP/132-00000013>AGI Rx << GET VARIABLE "chan"
<SIP/132-00000013>AGI Tx >> 200 result=1 (SIP/104)
<SIP/132-00000013>AGI Rx << DATABASE PUT CF 104 79257184222
<SIP/132-00000013>AGI Tx >> 200 result=1
    -- <SIP/132-00000013>AGI Script /tmp/1C_Set_Status.sh completed, returning 0
    -- Executing [10000222@miko_ajam:3] Answer("SIP/132-00000013", "") in new stack
    -- Executing [10000222@miko_ajam:4] Hangup("SIP/132-00000013", "") in new stack
  == Spawn extension (miko_ajam, 10000222, 4) exited non-zero on 'SIP/132-00000013'
astpanel/ats/asterisk/auto_answer.1390315335.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)