Страница 1 из 2

callback с mysql

Добавлено: 27 дек 2015, 01:39
vitas
Приветствую всех присутствующих!! Ребята, помогите разобраться плиз...хочу установить callback с такой конфигурацией:

При входящем звонке система определяет мой номер тел. и если он имеется в списке (базе Msql)- перебрасывает в голосовое меню ivr-pass в котором будет предложено набрать PIN-код и получить доступ к следующему контексту. Это все работает (без callback). А вот callback никак не могу настроить, то-есть не попадаю в контекст ivr-callback. Звонок поступает в asterisk и тут же предлагает ввести PIN-код вместо того что бы запустить скрипт callback.agi в /user/share/asterisk/agi-bin/callback.agi

В чем тут может быть проблемa кто нибудь подскажет ?

делаю как написано тут https://xakep.ru/2011/02/24/54781/

Mysql база выглядит так:

Код: Выделить всё

USE asterisk;
CREATE TABLE `callback` (
`phone` varchar(80) NOT NULL default '',
`pin` int(11) NOT NULL default '4321',
`callback` int(11) NOT NULL default '0',
`user` varchar(255) NOT NULL default ''
);
INSERT INTO callback(phone, pin, user) values('06XXXXXXXX', '3212', 'Vitas');
Скрипт для callback находится в /user/share/asterisk/agi-bin/callback.agi

Код: Выделить всё

#!/bin/bash
echo Channel: Dongle/dongle0/$1 > /var/tmp/$2.call
echo MaxRetries: 2 >> /var/tmp/$2.call
echo RetryTime: 3 >> /var/tmp/$2.call
echo WaitTime: 20 >> /var/tmp/$2.call
echo Context: ivr-pass >> /var/tmp/$2.call
echo Extension: s >> /var/tmp/$2.call
echo Priority: 2 >> /var/tmp/$2.call
echo Archive: Yes >> /var/tmp/$2.call
chown asterisk:asterisk /var/tmp/$2.call
chmod 777 /var/tmp/$2.call
mv /var/tmp/$2.call /var/spool/asterisk/outgoing
extensions.conf

Код: Выделить всё

[fromgorod]
exten => s,1,NoOp(zvonyat s nomera ${CALLERID(all)})
exten => s,n,NoOp(${STRFTIME(${EPOCH},,%d.%m.%Y-%H:%M:%S)})
exten => s,n,MYSQL(Connect connid localhost asterisk passwordMsql asterisk)
exten => s,n,MYSQL(Query resultid ${connid} select pin, callback from callback where phone=${CALLERID(number)})
exten => s,n,MYSQL(Fetch fetchid ${resultid} pin callback)
exten => s,n,NoOp(pin -> ${pin} callback# -> ${callback})
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,MYSQL(Disconnect ${connid})
exten => s,n,GoToIf($["${pin}" != ""]?ivr-pass,s,1)
exten => s,n,Answer() ;otvechaem

[ivr-pass]
exten => s,1,GoToIf($["${callback}" != "0"]?ivr-callback,s,1)
exten => s,n,Background(/var/lib/asterisk/sounds/ru/dir-welcome) ;
exten => s,n,WaitExten(10)
exten => _XXXX,1,GoToIf($["${EXTEN}" = "${pin}"]?ivr,s,1)
exten => _XXXX,n,Hangup
exten => t,1,Hangup
exten => i,1,Hangup

[ivr-callback]
exten => s,1,AGI(/usr/share/asterisk/agi-bin/callback.agi,${callback},${UNIQUEID})
exten => s,n,hangup

[ivr]
exten => s,1,Set(inum=0)
exten => s,n,Set(tnum=0)
exten => s,n,Background(/var/lib/asterisk/sounds/ru/dir-welcome)
exten => s,n,WaitExten(10)
exten => 1,1,GoTo(ivr-out,s,1)
exten => 2,1,GoTo(ivr-ch-pin,s,1)
exten => i,1,Playback(pbx-invalid)
exten => i,n,Set(inum=$[${inum} + 1])
exten => i,n,GotoIf($["${inum}" < "3"]?s,1)
exten => i,n,Hangup()
exten => t,1,Set(tnum=$[${tnum} + 1])
exten => t,n,GotoIf($["${tnum}" < "3"]?s,1)
exten => t,n,Hangup()

[ivr-out]
exten => s,1,Set(inum=0)
exten => s,n,Set(tnum=0)
exten => s,n,Background(beep)
exten => s,n,WaitExten(10)
exten => _0[1-6]XXXXXXXX,1,Dial(Dongle/dongle0/${EXTEN})
exten => _0[1-6]XXXXXXXX,n,Hangup
;exten => 8[2-8]XXXXXXXXX,1,Dial(SIP/blabla3/${EXTEN}
;exten => 8[2-8]XXXXXXXXX ,n,Hangup
exten => i,1,Playback(pbx-invalid)
exten => i,n,Set(inum=$[${inum} + 1])
exten => i,n,GotoIf($["${inum}" < "3"]?s,1)
exten => i,n,Hangup()
exten => t,1,Set(tnum=$[${tnum} + 1])
exten => t,n,GotoIf($["${tnum}" < "3"]?s,1)
exten => t,n,Hangup()
CLI>

Код: Выделить всё

  == Using SIP RTP CoS mark 5
    -- Executing [s@fromgorod:1] NoOp("SIP/call-inband-outband-00000002", " "06XXXXXXXX" <06XXXXXXXX>") in new stack
    -- Executing [s@fromgorod:2] NoOp("SIP/call-inband-outband-00000002", "26.12.2015-19:24:07") in new stack
    -- Executing [s@fromgorod:3] MYSQL("SIP/call-inband-outband-00000002", "Connect connid localhost asterisk passwordMysql asterisk") in new stack
    -- Executing [s@fromgorod:4] MYSQL("SIP/call-inband-outband-00000002", "Query resultid 1 select pin, callback from callback where phone=06XXXXXXXX") in new stack
    -- Executing [s@fromgorod:5] MYSQL("SIP/call-inband-outband-00000002", "Fetch fetchid 2 pin callback") in new stack
    -- Executing [s@fromgorod:6] NoOp("SIP/call-inband-outband-00000002", "pin -> 3212 callback# -> 0") in new stack
    -- Executing [s@fromgorod:7] MYSQL("SIP/call-inband-outband-00000002", "Clear 2") in new stack
    -- Executing [s@fromgorod:8] MYSQL("SIP/call-inband-outband-00000002", "Disconnect 1") in new stack
    -- Executing [s@fromgorod:9] GotoIf("SIP/call-inband-outband-00000002", "1?ivr-pass,s,1") in new stack
    -- Goto (ivr-pass,s,1)
    -- Executing [s@ivr-pass:1] GotoIf("SIP/call-inband-outband-00000002", "0?ivr-callback,s,1") in new stack
    -- Executing [s@ivr-pass:2] BackGround("SIP/call-inband-outband-00000002", "/var/lib/asterisk/sounds/ru/dir-welcome") in new stack
    -- <SIP/call-inband-outband-00000002> Playing '/var/lib/asterisk/sounds/ru/dir-welcome.alaw' (language 'en')
    -- Executing [s@ivr-pass:3] WaitExten("SIP/call-inband-outband-00000002", "10") in new stack
  == CDR updated on SIP/call-inband-outband-00000002
    -- Executing [3212@ivr-pass:1] GotoIf("SIP/call-inband-outband-00000002", "1?ivr,s,1") in new stack
    -- Goto (ivr,s,1)
    -- Executing [s@ivr:1] Set("SIP/call-inband-outband-00000002", "inum=0") in new stack
    -- Executing [s@ivr:2] Set("SIP/call-inband-outband-00000002", "tnum=0") in new stack
    -- Executing [s@ivr:3] BackGround("SIP/call-inband-outband-00000002", "/var/lib/asterisk/sounds/ru/dir-welcome") in new stack
    -- <SIP/call-inband-outband-00000002> Playing '/var/lib/asterisk/sounds/ru/dir-welcome.alaw' (language 'en')
    -- Executing [s@ivr:4] WaitExten("SIP/call-inband-outband-00000002", "10") in new stack
  == CDR updated on SIP/call-inband-outband-00000002
    -- Executing [1@ivr:1] Goto("SIP/call-inband-outband-00000002", "ivr-out,s,1") in new stack
    -- Goto (ivr-out,s,1)
    -- Executing [s@ivr-out:1] Set("SIP/call-inband-outband-00000002", "inum=0") in new stack
    -- Executing [s@ivr-out:2] Set("SIP/call-inband-outband-00000002", "tnum=0") in new stack
    -- Executing [s@ivr-out:3] BackGround("SIP/call-inband-outband-00000002", "beep") in new stack
    -- <SIP/call-inband-outband-00000002> Playing 'beep.gsm' (language 'en')
    -- Executing [s@ivr-out:4] WaitExten("SIP/call-inband-outband-00000002", "10") in new stack
  == Spawn extension (ivr-out, s, 4) exited non-zero on 'SIP/call-inband-outband-00000002'

Re: callback с mysql

Добавлено: 27 дек 2015, 11:23
_Pavel_
Повторяю:

Расскажи логику вот этой строки, чо она по твоему должна делать:

Код: Выделить всё

[ivr-pass] 
exten => s,1,GoToIf($["${callback}" != "0"]?ivr-callback,s,1) 
А после этого расскажи что она должна сделать получив вот эти значения:

Код: Выделить всё

-- Executing [s@fromgorod:6] NoOp("SIP/call-inband-outband-00000002", "pin -> 3212 callback# -> 0") in new stack 

З.Ы. Интересно просто на каком еще кол-ве форумов всплывет этот вопрос....

Re: callback с mysql

Добавлено: 27 дек 2015, 13:14
awsswa
Особо упоротые успевают в 5-7 местах выложить, думают что люди на форумах разные сидят.

PS я открою большой секрет - количество человек с постами более 1000 штук всего 20-40 человек
и они есть на всех форумах - даже ники не меняют

Re: callback с mysql

Добавлено: 27 дек 2015, 18:57
vitas
_Pavel_ писал(а):Повторяю:

Расскажи логику вот этой строки, чо она по твоему должна делать:

Код: Выделить всё

[ivr-pass] 
exten => s,1,GoToIf($["${callback}" != "0"]?ivr-callback,s,1) 
А после этого расскажи что она должна сделать получив вот эти значения:

Код: Выделить всё

-- Executing [s@fromgorod:6] NoOp("SIP/call-inband-outband-00000002", "pin -> 3212 callback# -> 0") in new stack 

З.Ы. Интересно просто на каком еще кол-ве форумов всплывет этот вопрос....
Спасибо за помощь!

вижу ошибку - поменял, убрал "0"

Код: Выделить всё

[ivr-pass]
exten => s,1,GoToIf($["${callback}" != ""]?ivr-callback,s,1) 
понимаю эту строчку так: функцией GoToIf сверяем в базе mysql что бы то что написано в кавычках "" не было равным 0
то есть если там стоит 0 скрипт /usr/share/asterisk/agi-bin/callback.agi не воспроизводится > ноль убираю и попадаю на скрипт > он срабатывает и превращает его в такой формат:

фаил .call

Код: Выделить всё

Channel: Dongle/dongle0/0
MaxRetries: 2
RetryTime: 3
WaitTime: 20
Context: ivr-pass
Extension: s
Priority: 2
Archive: Yes

StartRetry: 975 1 (1451228382)
EndRetry: 975 1 (1451228380)
StartRetry: 975 2 (1451228385)
DelayedRetry: 975 1 (1451228383)
EndRetry: 975 2 (1451228384)
StartRetry: 975 3 (1451228388)
DelayedRetry: 975 2 (1451228386)
Status: Expired
Конечно же звонка не получаю т.к номер с которого звоню не приписывает в Channel: Dongle/dongle0/0
не могу понять почему скрипт не приписывает мой номер в файл .call ?? может кто знает ?

скрипт такой:

Код: Выделить всё

#!/bin/bash
echo Channel: Dongle/dongle0/$1 > /var/tmp/$2.call
echo MaxRetries: 2 >> /var/tmp/$2.call
echo RetryTime: 3 >> /var/tmp/$2.call
echo WaitTime: 20 >> /var/tmp/$2.call
echo Context: ivr-pass >> /var/tmp/$2.call
echo Extension: s >> /var/tmp/$2.call
echo Priority: 2 >> /var/tmp/$2.call
echo Archive: Yes >> /var/tmp/$2.call
chown asterisk:asterisk /var/tmp/$2.call
chmod 777 /var/tmp/$2.call
mv /var/tmp/$2.call /var/spool/asterisk/outgoing
CLI>

Код: Выделить всё

  == Using SIP RTP CoS mark 5
    -- Executing [s@fromgorod:1] NoOp("SIP/call-inband-outband-0000000d", " "06ХХХХХХХХХ" <06ХХХХХХХХ>") in new stack
    -- Executing [s@fromgorod:2] NoOp("SIP/call-inband-outband-0000000d", "27.12.2015-14:59:39") in new stack
    -- Executing [s@fromgorod:3] MYSQL("SIP/call-inband-outband-0000000d", "Connect connid localhost asterisk passwordMsql  asterisk") in new stack
    -- Executing [s@fromgorod:4] MYSQL("SIP/call-inband-outband-0000000d", "Query resultid 1 select pin, callback from callback where phone=06ХХХХХХХХ") in new stack
    -- Executing [s@fromgorod:5] MYSQL("SIP/call-inband-outband-0000000d", "Fetch fetchid 2 pin callback") in new stack
    -- Executing [s@fromgorod:6] NoOp("SIP/call-inband-outband-0000000d", "pin -> 3212 callback# -> 0") in new stack
    -- Executing [s@fromgorod:7] MYSQL("SIP/call-inband-outband-0000000d", "Clear 2") in new stack
    -- Executing [s@fromgorod:8] MYSQL("SIP/call-inband-outband-0000000d", "Disconnect 1") in new stack
    -- Executing [s@fromgorod:9] GotoIf("SIP/call-inband-outband-0000000d", "1?ivr-pass,s,1") in new stack
    -- Goto (ivr-pass,s,1)
    -- Executing [s@ivr-pass:1] GotoIf("SIP/call-inband-outband-0000000d", "1?callback,s,1") in new stack
    -- Goto (callback,s,1)
    -- Executing [s@callback:1] AGI("SIP/call-inband-outband-0000000d", "/usr/share/asterisk/agi-bin/callback.agi,0,1451228379.39") in new stack
    -- Launched AGI Script /usr/share/asterisk/agi-bin/callback.agi
    -- Attempting call on Dongle/dongle0/0 for s@ivr-pass:2 (Retry 1)
    -- <SIP/call-inband-outband-0000000d>AGI Script /usr/share/asterisk/agi-bin/callback.agi completed, returning 0
    -- Executing [s@callback:2] Hangup("SIP/call-inband-outband-0000000d", "") in new stack
  == Spawn extension (callback, s, 2) exited non-zero on 'SIP/call-inband-outband-0000000d'
[Dec 27 14:59:40] NOTICE[2003]: pbx_spool.c:389 attempt_thread: Call failed to go through, reason (1) Hangup
    -- Attempting call on Dongle/dongle0/0 for s@ivr-pass:2 (Retry 2)
[Dec 27 14:59:44] NOTICE[2004]: pbx_spool.c:389 attempt_thread: Call failed to go through, reason (1) Hangup
    -- Attempting call on Dongle/dongle0/0 for s@ivr-pass:2 (Retry 3)
[Dec 27 14:59:46] NOTICE[2005]: pbx_spool.c:389 attempt_thread: Call failed to go through, reason (1) Hangup
[Dec 27 14:59:46] NOTICE[2005]: pbx_spool.c:392 attempt_thread: Queued call to Dongle/dongle0/0 expired without completion after 2 attempts
З.Ы. Интересно просто на каком еще кол-ве форумов всплывет этот вопрос....
тут и там ;)

Re: callback с mysql

Добавлено: 27 дек 2015, 20:55
vitas
Конечно же звонка не получаю т.к номер с которого звоню не приписывает в Channel: Dongle/dongle0/0

Код: Выделить всё

mysql> SELECT * FROM callback WHERE 1;
+--------------+------+----------+--------+
| phone        | pin  | callback | user   |
+--------------+------+----------+--------+
|06XXXXXXXX | 3212 |        0 | Vitas  |	
в таблице то действительно стоит 0
пробовал вместо callback подставлять phone, все равно не хочет :?: :?:

Re: callback с mysql

Добавлено: 28 дек 2015, 02:51
_Pavel_

Код: Выделить всё

[ivr-pass]
exten => s,1,GoToIf($["${callback}" != "0"]?ivr-callback,s,1)
Если значение переменной callback отличное от "0" то идем в контекст ivr-callback, в противном случае идем дальше по диал-плану.

В твоем варианте прилетает:

Код: Выделить всё

-- Executing [s@fromgorod:6] NoOp("SIP/call-inband-outband-00000002", "pin -> 3212 callback# -> 0") in new stack 
Соответственно переменная callback = "0" и * отрабатывает: идем дальше по диал-плану.

Там была реализована логика 0 - disable 1(или что угодно кроме 0)-enable
Поэтому: вернуть все назад, а в базе выставить значение 1 на нужный номер. И проверять.

Re: callback с mysql

Добавлено: 28 дек 2015, 06:37
_Pavel_
Теперь по скрипту:
В нем ты оперируешь переменными $1 и $2 которые ты передаешь из диалплана с помошью:

Код: Выделить всё

exten => s,1,AGI(/usr/share/asterisk/agi-bin/callback.agi,${callback},${UNIQUEID})
А что у тебя передается в переменной callback ?
И где номер который мы хотим вызывать?


З.Ы. Копи-паст решения надо сначала обдумывать, а потом только использовать.

Re: callback с mysql

Добавлено: 28 дек 2015, 20:36
vitas
именно, в $1 было равным нулю, я исправил таблицу, вставил свой номер и вот что получилось:

Код: Выделить всё

mysql> SELECT * FROM callback WHERE 1;
+------------+------+------------+-------+
| phone      | pin  | callback   | user  |
+------------+------+------------+-------+
| 06XXXXXXXX | 3212 | 06XXXXXXXX | Vitas |
+------------+------+------------+-------+
звоню на линю SIP (входная линия в *) скрипт срабатывает и ставит .call куда нужно callback мне перезванивает с помощью "Dongle/dongle0" звонок получаю > слышу /var/lib/asterisk/sounds/ru/dir-welcome и ввожу свой PIN. сразу же после этого * срывает линию и ложит трубку. :?:
По плану он должен перебросить звонок с [ivr-pass] в [ivr] не пойму почему этого не происходит ? в скрипте .call написано Context: ivr-pass и Extension: s

скрипт callnack:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

Код: Выделить всё

#!/bin/bash
echo Channel: Dongle/dongle0/$1 > /var/tmp/$2.call
echo MaxRetries: 2 >> /var/tmp/$2.call
echo RetryTime: 15 >> /var/tmp/$2.call
echo WaitTime: 20 >> /var/tmp/$2.call
echo Context: ivr-pass >> /var/tmp/$2.call
echo Extension: s >> /var/tmp/$2.call
echo Priority: 2 >> /var/tmp/$2.call
echo Archive: Yes >> /var/tmp/$2.call
chown asterisk:asterisk /var/tmp/$2.call
chmod 777 /var/tmp/$2.call
mv /var/tmp/$2.call /var/spool/asterisk/outgoing
extensions.conf:

Код: Выделить всё

[fromgorod]
exten => s,1,NoOp( ${CALLERID(all)})
exten => s,n,NoOp(${STRFTIME(${EPOCH},,%d.%m.%Y-%H:%M:%S)})
exten => s,n,MYSQL(Connect connid localhost asterisk passwordMysql asterisk)
exten => s,n,MYSQL(Query resultid ${connid} select pin, callback from callback where phone=${CALLERID(number)})
exten => s,n,MYSQL(Fetch fetchid ${resultid} pin callback)
exten => s,n,NoOp(pin -> ${pin} callback# -> ${callback})
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,MYSQL(Disconnect ${connid})
exten => s,n,GoToIf($["${pin}" != ""]?ivr-pass,s,1)
exten => s,n,Answer() ;otvechaem

[ivr-pass]
exten => s,1,GoToIf($["${callback}" != "0"]?callback,s,1)
exten => s,n,Background(/var/lib/asterisk/sounds/ru/dir-welcome) ;
exten => s,n,WaitExten(10)
exten => _XXXX,1,GoToIf($["${EXTEN}" = "${pin}"]?ivr,s,1)
exten => _XXXX,n,Hangup

[callback]
exten => s,1,AGI(/usr/share/asterisk/agi-bin/callback.agi,${callback},${UNIQUEID})
exten => s,n,Hangup

продолжение extensions.conf:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

Код: Выделить всё

[ivr]
exten => s,1,Set(inum=0)
exten => s,n,Set(tnum=0)
exten => s,n,Background(/var/lib/asterisk/sounds/ru/dir-welcome)
exten => s,n,WaitExten(10)
exten => 1,1,GoTo(ivr-out,s,1)
exten => 2,1,GoTo(ivr-ch-pin,s,1)
exten => i,1,Playback(pbx-invalid)
exten => i,n,Set(inum=$[${inum} + 1])
exten => i,n,GotoIf($["${inum}" < "3"]?s,1)
exten => i,n,Hangup()
exten => t,1,Set(tnum=$[${tnum} + 1])
exten => t,n,GotoIf($["${tnum}" < "3"]?s,1)
exten => t,n,Hangup()

[ivr-out]
exten => s,1,Set(inum=0)
exten => s,n,Set(tnum=0)
exten => s,n,Background(beep)
exten => s,n,WaitExten(10)
exten => _0[1-6]XXXXXXXX,1,Dial(Dongle/dongle0/${EXTEN})
exten => _01XXXXXXXX,n,Hangup
;exten => 01XXXXXXXX,1,Dial(SIP/bla2/${EXTEN}
;exten => 01XXXXXXXX ,n,Hangup
;exten => 8[2-8]XXXXXXXXX,1,Dial(SIP/blabla3/${EXTEN}
;exten => 8[2-8]XXXXXXXXX ,n,Hangup
exten => i,1,Playback(pbx-invalid)
exten => i,n,Set(inum=$[${inum} + 1])
exten => i,n,GotoIf($["${inum}" < "3"]?s,1)
exten => i,n,Hangup()
exten => t,1,Set(tnum=$[${tnum} + 1])
exten => t,n,GotoIf($["${tnum}" < "3"]?s,1)
exten => t,n,Hangup()
CLI>

Код: Выделить всё

  == Using SIP RTP CoS mark 5
    -- Executing [s@fromgorod:1] NoOp("SIP/call-inband-outband-00000044", " "06XXXXXXXX" <06XXXXXXXX>") in new stack
    -- Executing [s@fromgorod:2] NoOp("SIP/call-inband-outband-00000044", "28.12.2015-16:52:24") in new stack
    -- Executing [s@fromgorod:3] MYSQL("SIP/call-inband-outband-00000044", "Connect connid localhost asterisk passwordMysql asterisk") in new stack
    -- Executing [s@fromgorod:4] MYSQL("SIP/call-inband-outband-00000044", "Query resultid 1 select pin, callback from callback where phone=06XXXXXXXX") in new stack
    -- Executing [s@fromgorod:5] MYSQL("SIP/call-inband-outband-00000044", "Fetch fetchid 2 pin callback") in new stack
    -- Executing [s@fromgorod:6] NoOp("SIP/call-inband-outband-00000044", "pin -> 3212 callback# -> 06XXXXXXXX") in new stack
    -- Executing [s@fromgorod:7] MYSQL("SIP/call-inband-outband-00000044", "Clear 2") in new stack
    -- Executing [s@fromgorod:8] MYSQL("SIP/call-inband-outband-00000044", "Disconnect 1") in new stack
    -- Executing [s@fromgorod:9] GotoIf("SIP/call-inband-outband-00000044", "1?ivr-pass,s,1") in new stack
    -- Goto (ivr-pass,s,1)
    -- Executing [s@ivr-pass:1] GotoIf("SIP/call-inband-outband-00000044", "1?callback,s,1") in new stack
    -- Goto (callback,s,1)
    -- Executing [s@callback:1] AGI("SIP/call-inband-outband-00000044", "/usr/share/asterisk/agi-bin/callback.agi,06XXXXXXXX,1451321544.142") in new stack
    -- Launched AGI Script /usr/share/asterisk/agi-bin/callback.agi
    -- Attempting call on Dongle/dongle0/06XXXXXXXX for s@ivr-pass:2 (Retry 1)
    -- <SIP/call-inband-outband-00000044>AGI Script /usr/share/asterisk/agi-bin/callback.agi completed, returning 0
    -- Executing [s@callback:2] Hangup("SIP/call-inband-outband-00000044", "") in new stack
  == Spawn extension (callback, s, 2) exited non-zero on 'SIP/call-inband-outband-00000044'
    -- Executing [s@ivr-pass:2] BackGround("Dongle/dongle0-010000004a", "/var/lib/asterisk/sounds/ru/dir-welcome") in new stack
    -- <Dongle/dongle0-010000004a> Playing '/var/lib/asterisk/sounds/ru/dir-welcome.alaw' (language 'en')
    -- Executing [s@ivr-pass:3] WaitExten("Dongle/dongle0-010000004a", "10") in new stack
  == CDR updated on Dongle/dongle0-010000004a
    -- Executing [3212@ivr-pass:1] GotoIf("Dongle/dongle0-010000004a", "0?ivr,s,1") in new stack
    -- Executing [3212@ivr-pass:2] Hangup("Dongle/dongle0-010000004a", "") in new stack
  == Spawn extension (ivr-pass, 3212, 2) exited non-zero on 'Dongle/dongle0-010000004a'
[Dec 28 16:52:40] NOTICE[3910]: pbx_spool.c:402 attempt_thread: Call completed to Dongle/dongle0/06XXXXXXXX

Re: callback с mysql

Добавлено: 28 дек 2015, 22:46
Aven
Рекомендовал бы использовать современные методы: вместо mysql аддона использовать штатный коннектор odbc, а вместо call-файлов использовать Originate.

Re: callback с mysql

Добавлено: 28 дек 2015, 23:20
vitas
Рекомендовал бы использовать современные методы: вместо mysql аддона использовать штатный коннектор odbc, а вместо call-файлов использовать Originate.
спасибо за совет, не слышал про такое...почитаю - ознакомлюсь. если есть ссылки с примерами буду рад ;)
но все-таки очень бы хотелось закончить то что начал...