AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Оценка работы операторов

Newbies/FAQ Forum 19 сообщений -
#1

Друзья, помогите
горю
Есть ИВР, очереди
надо, чтобы после того, как оператор повесил трубку, была возможность оценки оператора: нажмите "0" - хорошо, нажмите "1" плохо
в exten_custom.conf прописал:

[opinion-ivr]
exten => _.,1,NoOp(Statrt IVR)
exten => _.,n,DIAL(SIP/${EXTEN},,trg)
exten => _.,n,Goto(opinion,,1)

[opinion]
exten => _X.,1,NoOp(Statrt IVR)
exten => _X.,n,Background(Plese_press_0_or_1,m)
exten => _X.,n,Set(TIMEOUT(absolute)=2)

exten => 0,1,MYSQL(Connect connid localhost root 123 asteriskcdrdb)
exten => 0,n,MYSQL(Query resultid ${connid} INSERT INTO opinion (`id`, `callerid`, `exten`, `queues`, `opinion`) VALUES (NULL, ${FROMEXTEN}, ${DIALEDPEERNUMBER}, ${NODEST}, 0))
exten => 0,n,MYSQL(Disconnect ${connid})

exten => 1,1,MYSQL(Connect connid localhost root 123 asteriskcdrdb)
exten => 1,n,MYSQL(Query resultid ${connid} INSERT INTO opinion (`id`, `callerid`, `exten`, `queues`, `opinion`) VALUES (NULL, ${FROMEXTEN}, ${DIALEDPEERNUMBER}, ${NODEST}, 1))
exten => 1,n,MYSQL(Disconnect ${connid})

в mysql создал базу, создал table opinion
После того как оператор ложит трубку, сообщение проигрывается о том, чтобы нажать "0" или "1"
но в mysql select * from opinion не отображаются данные

сделал в cdr_mysql.conf


[global]
hostname = localhost
dbname=asteriskcdrdb
password = XXXXXX (пароль)
user = asteriskuser
userfield=1
;port=3306
;sock=/tmp/mysql.sock

в queues_post_custom.conf сделал:
member=Local/171@opinion-ivr/n
member=Local/181@opinion-ivr/n
member=Local/222@opinion-ivr/n
member=Local/255@opinion-ivr/n


Не работает, не заносится в базу opinion


Лог звонка:

-- Executing [255@from-internal:1] Macro("SIP/173-000001da", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/173-000001da", "AMPUSER=173") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/173-000001da", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/173-000001da", "1?Set(REALCALLERIDNUM=173)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/173-000001da", "AMPUSER=173") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/173-000001da", "AMPUSERCIDNAME=Ravil Nassifulin") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/173-000001da", "0?report") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/173-000001da", "AMPUSERCID=173") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/173-000001da", "CALLERID(all)="Ravil Nassifulin" ") in new stack
-- Executing [s@macro-user-callerid:9] ExecIf("SIP/173-000001da", "1?Set(CHANNEL(language)=ru)") in new stack
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/173-000001da", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/173-000001da", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/173-000001da", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] Set("SIP/173-000001da", "CALLERID(number)=173") in new stack
-- Executing [s@macro-user-callerid:20] Set("SIP/173-000001da", "CALLERID(name)=Ravil Nassifulin") in new stack
-- Executing [s@macro-user-callerid:21] NoOp("SIP/173-000001da", "Using CallerID "Ravil Nassifulin" ") in new stack
-- Executing [255@from-internal:2] Answer("SIP/173-000001da", "") in new stack
-- Executing [255@from-internal:3] Set("SIP/173-000001da", "__BLKVM_OVERRIDE=BLKVM/255/SIP/173-000001da") in new stack
-- Executing [255@from-internal:4] Set("SIP/173-000001da", "__BLKVM_BASE=255") in new stack
-- Executing [255@from-internal:5] Set("SIP/173-000001da", "DB(BLKVM/255/SIP/173-000001da)=TRUE") in new stack
-- Executing [255@from-internal:6] ExecIf("SIP/173-000001da", "1?Set(_DIAL_OPTIONS=trM(auto-blkvm))") in new stack
-- Executing [255@from-internal:7] Set("SIP/173-000001da", "__NODEST=255") in new stack
-- Executing [255@from-internal:8] Set("SIP/173-000001da", "MONITOR_FILENAME=/var/spool/asterisk/monitor/q255-20131007-175152-1381146712.10481") in new stack
-- Executing [255@from-internal:9] Playback("SIP/173-000001da", "custom/Base_Nat") in new stack
-- Playing 'custom/Base_Nat.slin' (language 'ru')
-- Executing [255@from-internal:10] Set("SIP/173-000001da", "__MOHCLASS=default") in new stack
-- Executing [255@from-internal:11] Set("SIP/173-000001da", "__CWIGNORE=TRUE") in new stack
-- Executing [255@from-internal:12] Queue("SIP/173-000001da", "255,t,,,20") in new stack
-- Started music on hold, class 'default', on SIP/173-000001da
-- Called Local/179@from-queue/n
-- Executing [179@from-queue:1] Set("Local/179@from-queue-daa7;2", "QAGENT=179") in new stack
-- Executing [179@from-queue:2] Goto("Local/179@from-queue-daa7;2", "255,1") in new stack
-- Goto (from-queue,255,1)
-- Executing [255@from-queue:1] Goto("Local/179@from-queue-daa7;2", "from-internal,179,1") in new stack
-- Goto (from-internal,179,1)
-- Executing [179@from-internal:1] Macro("Local/179@from-queue-daa7;2", "user-callerid,SKIPTTL,") in new stack
-- Executing [s@macro-user-callerid:1] Set("Local/179@from-queue-daa7;2", "AMPUSER=173") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("Local/179@from-queue-daa7;2", "1?report") in new stack
-- Goto (macro-user-callerid,s,10)
-- Executing [s@macro-user-callerid:10] GotoIf("Local/179@from-queue-daa7;2", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] Set("Local/179@from-queue-daa7;2", "CALLERID(number)=173") in new stack
-- Executing [s@macro-user-callerid:20] Set("Local/179@from-queue-daa7;2", "CALLERID(name)=Ravil Nassifulin") in new stack
-- Executing [s@macro-user-callerid:21] NoOp("Local/179@from-queue-daa7;2", "Using CallerID "Ravil Nassifulin" ") in new stack
-- Executing [179@from-internal:2] NoOp("Local/179@from-queue-daa7;2", "Calling Out Route: Local2Meridian") in new stack
-- Executing [179@from-internal:3] Set("Local/179@from-queue-daa7;2", "MOHCLASS=default") in new stack
-- Executing [179@from-internal:4] Set("Local/179@from-queue-daa7;2", "_NODEST=") in new stack
-- Executing [179@from-internal:5] Macro("Local/179@from-queue-daa7;2", "record-enable,173,OUT,") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("Local/179@from-queue-daa7;2", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] ExecIf("Local/179@from-queue-daa7;2", "0?MacroExit()") in new stack
-- Executing [s@macro-record-enable:5] GotoIf("Local/179@from-queue-daa7;2", "0?Group:OUT") in new stack
-- Goto (macro-record-enable,s,15)
-- Executing [s@macro-record-enable:15] GotoIf("Local/179@from-queue-daa7;2", "0?IN") in new stack
-- Executing [s@macro-record-enable:16] ExecIf("Local/179@from-queue-daa7;2", "0?MacroExit()") in new stack
-- Executing [s@macro-record-enable:17] NoOp("Local/179@from-queue-daa7;2", "Recording enable for 173") in new stack
-- Executing [s@macro-record-enable:18] Set("Local/179@from-queue-daa7;2", "CALLFILENAME=OUT173-20131007-175213-1381146733.10483") in new stack
-- Executing [s@macro-record-enable:19] Goto("Local/179@from-queue-daa7;2", "record") in new stack
-- Goto (macro-record-enable,s,23)
-- Executing [s@macro-record-enable:23] MixMonitor("Local/179@from-queue-daa7;2", "/var/spool/asterisk/monitorOUT173-20131007-175213-1381146733.10483.wav,,") in new stack
-- Executing [s@macro-record-enable:24] Set("Local/179@from-queue-daa7;2", "CDR(userfield)=audio:OUT173-20131007-175213-1381146733.10483.wav") in new stack
-- Executing [s@macro-record-enable:25] MacroExit("Local/179@from-queue-daa7;2", "") in new stack
== Begin MixMonitor Recording Local/179@from-queue-daa7;2
-- Executing [179@from-internal:6] Macro("Local/179@from-queue-daa7;2", "dialout-trunk,2,179,") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("Local/179@from-queue-daa7;2", "DIAL_TRUNK=2") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("Local/179@from-queue-daa7;2", "0?sub-pincheck,s,1") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("Local/179@from-queue-daa7;2", "0?disabletrunk,1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("Local/179@from-queue-daa7;2", "DIAL_NUMBER=179") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("Local/179@from-queue-daa7;2", "DIAL_TRUNK_OPTIONS=trM(auto-blkvm)") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("Local/179@from-queue-daa7;2", "OUTBOUND_GROUP=OUT_2") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("Local/179@from-queue-daa7;2", "1?nomax") in new stack
-- Goto (macro-dialout-trunk,s,9)
-- Executing [s@macro-dialout-trunk:9] GotoIf("Local/179@from-queue-daa7;2", "0?skipoutcid") in new stack
-- Executing [s@macro-dialout-trunk:10] Set("Local/179@from-queue-daa7;2", "DIAL_TRUNK_OPTIONS=") in new stack
-- Executing [s@macro-dialout-trunk:11] Macro("Local/179@from-queue-daa7;2", "outbound-callerid,2") in new stack
-- Executing [s@macro-outbound-callerid:1] ExecIf("Local/179@from-queue-daa7;2", "0?Set(CALLERPRES()=)") in new stack
-- Executing [s@macro-outbound-callerid:2] ExecIf("Local/179@from-queue-daa7;2", "1?Set(REALCALLERIDNUM=173)") in new stack
-- Executing [s@macro-outbound-callerid:3] GotoIf("Local/179@from-queue-daa7;2", "1?normcid") in new stack
-- Goto (macro-outbound-callerid,s,6)
-- Executing [s@macro-outbound-callerid:6] Set("Local/179@from-queue-daa7;2", "USEROUTCID="Ravil Nassifulin" ") in new stack
-- Executing [s@macro-outbound-callerid:7] Set("Local/179@from-queue-daa7;2", "EMERGENCYCID=7172730173") in new stack
-- Executing [s@macro-outbound-callerid:8] Set("Local/179@from-queue-daa7;2", "TRUNKOUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:9] GotoIf("Local/179@from-queue-daa7;2", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,12)
-- Executing [s@macro-outbound-callerid:12] ExecIf("Local/179@from-queue-daa7;2", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:13] ExecIf("Local/179@from-queue-daa7;2", "1?Set(CALLERID(all)="Ravil Nassifulin" )") in new stack
-- Executing [s@macro-outbound-callerid:14] ExecIf("Local/179@from-queue-daa7;2", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:15] ExecIf("Local/179@from-queue-daa7;2", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
-- Executing [s@macro-dialout-trunk:12] GosubIf("Local/179@from-queue-daa7;2", "1?sub-flp-2,s,1") in new stack
-- Executing [s@sub-flp-2:1] ExecIf("Local/179@from-queue-daa7;2", "1?Return()") in new stack
-- Executing [s@macro-dialout-trunk:13] Set("Local/179@from-queue-daa7;2", "OUTNUM=179") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("Local/179@from-queue-daa7;2", "custom=DAHDI/g12") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("Local/179@from-queue-daa7;2", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack
-- Executing [s@macro-dialout-trunk:16] Macro("Local/179@from-queue-daa7;2", "dialout-trunk-predial-hook,") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("Local/179@from-queue-daa7;2", "") in new stack
-- Executing [s@macro-dialout-trunk:17] GotoIf("Local/179@from-queue-daa7;2", "0?bypass,1") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("Local/179@from-queue-daa7;2", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:19] Dial("Local/179@from-queue-daa7;2", "DAHDI/g12/179,300,") in new stack
-- Requested transfer capability: 0x00 - SPEECH
-- Called DAHDI/g12/179
-- DAHDI/i2/179-13a7 is proceeding passing it to Local/179@from-queue-daa7;2
-- DAHDI/i2/179-13a7 is ringing
-- Local/179@from-queue-daa7;1 is ringing
-- DAHDI/i2/179-13a7 answered Local/179@from-queue-daa7;2
-- Local/179@from-queue-daa7;1 answered SIP/173-000001da
-- Stopped music on hold on SIP/173-000001da
== Begin MixMonitor Recording SIP/173-000001da
-- Span 2: Channel 0/1 got hangup request, cause 16
-- Executing [h@macro-dialout-trunk:1] Macro("Local/179@from-queue-daa7;2", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("Local/179@from-queue-daa7;2", "0?endmixmoncheck") in new stack
-- Executing [s@macro-hangupcall:2] Set("Local/179@from-queue-daa7;2", "MIXMON_CALLFILENAME=/var/spool/asterisk/monitor/OUT173-20131007-175213-1381146733.10483.wav") in new stack
-- Executing [s@macro-hangupcall:3] GotoIf("Local/179@from-queue-daa7;2", "0?defaultmixmondir") in new stack
-- Executing [s@macro-hangupcall:4] Set("Local/179@from-queue-daa7;2", "MIXMON_CALLFILENAME=/var/spool/asterisk/monitorOUT173-20131007-175213-1381146733.10483.wav") in new stack
-- Executing [s@macro-hangupcall:5] System("Local/179@from-queue-daa7;2", "test -e /var/spool/asterisk/monitorOUT173-20131007-175213-1381146733.10483.wav") in new stack
-- Executing [s@macro-hangupcall:6] NoOp("Local/179@from-queue-daa7;2", "SYSTEMSTATUS = SUCCESS") in new stack
-- Executing [s@macro-hangupcall:7] GotoIf("Local/179@from-queue-daa7;2", "1?endmixmoncheck") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] NoOp("Local/179@from-queue-daa7;2", "End of MIXMON check") in new stack
-- Executing [s@macro-hangupcall:10] GotoIf("Local/179@from-queue-daa7;2", "1?nomeetmemon") in new stack
-- Goto (macro-hangupcall,s,15)
-- Executing [s@macro-hangupcall:15] NoOp("Local/179@from-queue-daa7;2", "MEETME_RECORDINGFILE=") in new stack
-- Executing [s@macro-hangupcall:16] GotoIf("Local/179@from-queue-daa7;2", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,1Cool
-- Executing [s@macro-hangupcall:18] NoOp("Local/179@from-queue-daa7;2", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:19] GotoIf("Local/179@from-queue-daa7;2", "1?noautomon2") in new stack
-- Goto (macro-hangupcall,s,25)
-- Executing [s@macro-hangupcall:25] NoOp("Local/179@from-queue-daa7;2", "MONITOR_FILENAME=") in new stack
-- Executing [s@macro-hangupcall:26] GotoIf("Local/179@from-queue-daa7;2", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,29)
-- Executing [s@macro-hangupcall:29] GotoIf("Local/179@from-queue-daa7;2", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,32)
-- Executing [s@macro-hangupcall:32] GotoIf("Local/179@from-queue-daa7;2", "1?theend") in new stack
-- Goto (macro-hangupcall,s,34)
-- Executing [s@macro-hangupcall:34] Hangup("Local/179@from-queue-daa7;2", "") in new stack
== Spawn extension (macro-hangupcall, s, 34) exited non-zero on 'Local/179@from-queue-daa7;2' in macro 'hangupcall'
== Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on 'Local/179@from-queue-daa7;2'
-- Hungup 'DAHDI/i2/179-13a7'
== Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'Local/179@from-queue-daa7;2' in macro 'dialout-trunk'
== Spawn extension (from-internal, 179, 6) exited non-zero on 'Local/179@from-queue-daa7;2'
== MixMonitor close filestream
-- Executing [h@from-internal:1] Macro("SIP/173-000001da", "hangupcall") in new stack
== End MixMonitor Recording Local/179@from-queue-daa7;2
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/173-000001da", "1?endmixmoncheck") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] NoOp("SIP/173-000001da", "End of MIXMON check") in new stack
-- Executing [s@macro-hangupcall:10] GotoIf("SIP/173-000001da", "1?nomeetmemon") in new stack
-- Goto (macro-hangupcall,s,15)
-- Executing [s@macro-hangupcall:15] NoOp("SIP/173-000001da", "MEETME_RECORDINGFILE=") in new stack
-- Executing [s@macro-hangupcall:16] GotoIf("SIP/173-000001da", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,1Cool
-- Executing [s@macro-hangupcall:18] NoOp("SIP/173-000001da", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:19] GotoIf("SIP/173-000001da", "0?noautomon2") in new stack
-- Executing [s@macro-hangupcall:20] System("SIP/173-000001da", "test -e /var/spool/asterisk/monitor/q255-20131007-175152-1381146712.10481*") in new stack
-- Executing [s@macro-hangupcall:21] NoOp("SIP/173-000001da", "SYSTEMSTATUS = SUCCESS") in new stack
-- Executing [s@macro-hangupcall:22] GotoIf("SIP/173-000001da", "0?errornoautomon") in new stack
-- Executing [s@macro-hangupcall:23] Set("SIP/173-000001da", "CDR(userfield)=audio:/var/spool/asterisk/monitor/q255-20131007-175152-1381146712.10481") in new stack
-- Executing [s@macro-hangupcall:24] NoOp("SIP/173-000001da", "End of MONITOR QUEUE check") in new stack
-- Executing [s@macro-hangupcall:25] NoOp("SIP/173-000001da", "MONITOR_FILENAME=/var/spool/asterisk/monitor/q255-20131007-175152-1381146712.10481") in new stack
-- Executing [s@macro-hangupcall:26] GotoIf("SIP/173-000001da", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,29)
-- Executing [s@macro-hangupcall:29] GotoIf("SIP/173-000001da", "0?skipblkvm") in new stack
-- Executing [s@macro-hangupcall:30] NoOp("SIP/173-000001da", "Cleaning Up Block VM Flag: BLKVM/255/SIP/173-000001da") in new stack
-- Executing [s@macro-hangupcall:31] NoOp("SIP/173-000001da", "Deleting: BLKVM/255/SIP/173-000001da TRUE") in new stack
-- Executing [s@macro-hangupcall:32] GotoIf("SIP/173-000001da", "1?theend") in new stack
-- Goto (macro-hangupcall,s,34)
-- Executing [s@macro-hangupcall:34] Hangup("SIP/173-000001da", "") in new stack
== Spawn extension (macro-hangupcall, s, 34) exited non-zero on 'SIP/173-000001da' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/173-000001da'
== Spawn extension (from-internal, 255, 12) exited non-zero on 'SIP/173-000001da'
== MixMonitor close filestream
== End MixMonitor Recording SIP/173-000001da

На данное время вообще не произносится сообщение, после того, как оператор вешает трубку об оценки.

До этого произносилось, когда я в Эластиксе не указывал статистических агентов
Спасибо
#2

Попробуйте в вызове очереди поставить параметр с

Код:

[Arguments]
options
C: Mark all calls as "answered elsewhere" when cancelled.

c: Continue in the dialplan if the callee hangs up.


_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#3

К сожалению параметр С и с не дает положительного результата Sad
меня выкидывает на hangup
#4

а если попробовать через h и System записать в БД необходимый результат?

так же переходите на func_odbc, намного удобнее.
#5

а как через h и System?
с func_odbc я не знаю пока как работать, пока вот sql копаю
#6

Цитата:
с func_odbc я не знаю пока как работать, пока вот sql копаю

используются простые sql запросы. Пример, readsql=SELECT id FROM did WHERE did='${SQL_ESC(${ARG1})}' ORDER BY id DESC LIMIT 1

Цитата:
а как через h и System?

если Вы получаете значение 0,1 то далее просто передаете на обработку скрипту через System(/usr/local/bin/set_param ${ARG1} ${ARG2})[/quote]
#7

хорошо
спасибо
попробуем сделать Smile
#8

что то все равно не обрабатывается скрипт
вернул все на свои места
странно то, что дописывая в контексте exten_custom строчку exten => 0,n,MYSQL(Query resultid ${connid} INSERT INTO opinion (`id`, `callerid`, `exten`, `queues`, `opinion`) VALUES (NULL, ${FROMEXTEN}, ${DIALEDPEERNUMBER}, ${NODEST}, 0)) и потом просматривая сам mysql в таблице ничего нет, а вот зайдя в в сам mysql И делая руками вот такой запрос INSERT INTO opinion (`id`, `callerid`,`exten`, `queues`, `opinion`) VALUES (NULL, 7172730173, 173, 255 , 1); в таблице opinion mysql появляется строка с записью Sad
#9

Цитата:
просматривая сам mysql в таблице ничего нет, а вот зайдя в в сам mysql И делая руками вот такой запрос


а если руками сделать такой же запрос ( без подключения к базе ), то тоже в таблице ничего не увидите. Smile
а если подключиться к базе, а права не дать, то тоже ничего не увидите. Smile

_________________
Алексей Милько
#10

В mysql, например, на момент отдалки, можно включить query лог и смотреть попытки инсертов
/etc/my.cnf
[mysqld]
log=/var/log/mysql/query.log
#11

прошу прощения за некрофилию и дилетантский вопрос, но всё же осмелюсь:

при выполнении участка
Код:

[opinion-ivr]
exten => _.,1,NoOp(Start IVR)
exten => _.,n,DIAL(SIP/${EXTEN},,trg)
exten => _.,n,Goto(opinion,,1)


в переменную ${EXTEN} всегда записывается h экстеншн и тут сказочке конец - далее не проходит в контекст opinion, а там и всё в общем то кончается.
FreePBX 2.11 asterisk 11.8

есть соображения как этого избежать? соображалка уже кончилась Crying or Very sad

Код:
> 0xb764fd40 -- Probation passed - setting RTP source address to 192.168.2.29:12020
-- Local/101@from-queue-0000000f;1 connected line has changed. Saving it until answer for SIP/zdrm-00000013
-- Local/101@from-queue-0000000f;1 answered SIP/zdrm-00000013
== Spawn extension (opinion-ivr, 101, 2) exited non-zero on 'Local/101@opinion-ivr-0000000e;2'
-- Executing [h@opinion-ivr:1] NoOp("Local/101@opinion-ivr-0000000e;2", "Start IVR") in new stack
-- Executing [h@opinion-ivr:2] [b]Dial("Local/101@opinion-ivr-0000000e;2", "[u]SIP/h[/u],,trg")[/b] in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Stopped music on hold on SIP/zdrm-00000013
[2014-05-05 18:26:41] ERROR[24295][C-00000007]: netsock2.c:269 ast_sockaddr_resolve: getaddrinfo("h", "(null)", ...): Name or service not known
[2014-05-05 18:26:41] WARNING[24295][C-00000007]: chan_sip.c:6204 create_addr: No such host: h
[2014-05-05 18:26:41] WARNING[24295][C-00000007]: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)
== Everyone is busy/congested at this time (1:0/0/1)
> 0xb764fd40 -- Probation passed - setting RTP source address to 192.168.2.29:12020
-- Executing [h@opinion-ivr:3] Goto("Local/101@opinion-ivr-0000000e;2", "opinion,,1") in new stack
-- Goto (opinion,h,1)
-- Executing [h@macro-dial-one:1] Macro("Local/101@from-queue-0000000f;2", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("Local/101@from-queue-0000000f;2", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)

_________________
нубб, невероятно глупп
#12

нужно _. зменить на _X.
тогда h не будет туда попадать...
#13

полноценно выглядело так

Код:
[opinion-ivr]
exten => _.,1,NoOp(Start IVR)
exten => _.,n,DIAL(SIP/${EXTEN},,trg)
exten => _.,n,Goto(opinion,,1)

[opinion]
exten => _X.,1,NoOp(Start IVR)
exten => _X.,n,Background(custom/ebanutcamono,m)
exten => _X.,n,Set(TIMEOUT(absolute)=2)

exten => 1,1,Set(CDR(userfield)=1)
exten => 2,1,Set(CDR(userfield)=2)
exten => 3,1,Set(CDR(userfield)=3)
exten => 4,1,Set(CDR(userfield)=4)
exten => 5,1,Set(CDR(userfield)=5)



то бишь до контекста opinion даже не добирались(в листинге выше тоже затык\завершение)
просто понять бы какое значение переменной ${EXTEN} должно быть на самом деле вместо h

_________________
нубб, невероятно глупп
#14

получилось?
Код:
[opinion-ivr]
exten => _X.,1,NoOp(Start IVR)
exten => _X.,n,dial(SIP/${EXTEN},,trg)
exten => _X.,n,Goto(opinion,${EXTEN},1)
#15

практически получилось, в ${EXTEN} теперь попадает номер оператора, дальше воспроизводится как нужно, но теперь валится канал выборе варианта.



Код:
-- Executing [101@opinion-ivr:3] Goto("Local/101@opinion-ivr-0000001f;2", "opinion,101,1") in new stack
-- Goto (opinion,101,1)
-- Executing [101@opinion:1] NoOp("Local/101@opinion-ivr-0000001f;2", "Start IVR") in new stack
-- Executing [101@opinion:2] BackGround("Local/101@opinion-ivr-0000001f;2", "custom/ebanutcamono,m") in new stack
-- Playing 'custom/ebanutcamono.slin' (language 'en')
-- Executing [101@opinion:3] WaitExten("Local/101@opinion-ivr-0000001f;2", "7,") in new stack
== CDR updated on Local/101@opinion-ivr-0000001f;2
[b] -- Executing [4@opinion:1] Set("Local/101@opinion-ivr-0000001f;2", "CDR(userfield)=4") in new stack
--Auto fallthrough, channel 'Local/101@opinion-ivr-0000001f;2' status is 'ANSWER'[/b]




главное продвижки есть) adt2k спасибо! как закончу - отпишу решение.

_________________
нубб, невероятно глупп
#16

А у вас где нибудь ANSWER присутствует или просто идет переброска
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#17

ANSWER в контексте ivr действительно отсутствовал, добавил, теперь срабатывает и установка оценки в CDR(userfield)
Wapo Вам так же Спасибо Smile

вроде как то так получилось:
Код:
[opinion-ivr]
exten => _X.,1,NoOp(Start IVR)
exten => _X.,n,DIAL(SIP/${EXTEN},,trg)
exten => _X.,n,Goto(opinion,${EXTEN},1)

[opinion]
exten => _X.,1,NoOp(Start IVR)
exten => _X.,n,Answer
exten => _X.,n,Background(custom/ebanutcamono)
exten => _X.,n,WaitExten(10,)

exten => 1,1,Goto(macro-press-1,s,1)
exten => 2,1,Goto(macro-press-2,s,1)
exten => 3,1,Goto(macro-press-3,s,1)
exten => 4,1,Goto(macro-press-4,s,1)
exten => 5,1,Goto(macro-press-5,s,1)

exten => i,1,Hangup
exten => t,1,Hangup


вынесен в макрос для проговаривания "Спасибок" и\или обращения из web в custom destination

Код:
[macro-press-5]
exten => s,1,Set(CDR(userfield)=5)
exten => s,n,Playback(custom/spasibo)
exten => s,n,Hangup
exten => s,n,MacroExit()

_________________
нубб, невероятно глупп
#18

Лучше перепишите в ivr не _X. а s, а вызов при нажании типа exten => _X,1,Macro(some-press,${EXTEN}) а не Goto, ну а в макро используйте ${ARG1}
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#19

Спасибо, макросы IVR подправил для экстеншнов, выглядит красивее)
а вот подстановка s вместо _X. всё же засбоила - видимо есть ещё внутренние болячки из-за дистра, разберу позднее надеюсь.

Код:

[opinion]
...
exten => _X,1,Macro(ivrpress,${EXTEN})
...

[macro-ivrpress]
exten => s,1,Set(CDR(userfield)=${ARG1})
exten => s,n,Playback(custom/spasibo)
exten => s,n,Hangup
exten => s,n,MacroExit()

_________________
нубб, невероятно глупп