Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2012-10-08 14:46:09 +0400

wellus Gravatar wellus

Trixbox + Flash и Запись разговоров

Добрый день!

У меня TrixBox с шлюзами Linksys на внутренние телефоны.

Нарисовалась следующая проблема:

Поступает звонок на рецепшн (тел. 301), создается файл записи разговора и в базу пишется его uniqueid. Далее 301 переводит этот звонок допустим на 315, и вот тут возникает ситуация:

  • если перевод сделан через # , то все работает правильно, соединение устанавливается, создается новый файл записи разговора и в базу записывается новый uniqueid.

  • если перевод сделан через FLASH, то звонок переводится, новый файл записи создается, но в базу записывается uniqueid старый ... и как следствие нет возможности прослушать звонок через вэб-морду.

По логам

...

это создается файл записи при ответе 301 трубки

-- Executing [s@macro-record-enable:23] NoOp("Local/301@from-internal-7f81;2", "Recording enable for 301") in new stack
-- Executing [s@macro-record-enable:24] Set("Local/301@from-internal-7f81;2", "CALLFILENAME=20121008-141805-1349691485.651") in new stack
-- Executing [s@macro-record-enable:25] MixMonitor("Local/301@from-internal-7f81;2", "20121008-141805-1349691485.651.wav,,") in new stack
-- Executing [s@macro-record-enable:26] MacroExit("Local/301@from-internal-7f81;2", "") in new stack

...

жмем Flash

-- Executing [s@macro-record-enable:23] NoOp("Local/301@from-internal-7f81;2", "Recording enable for 301") in new stack

...

набираем 315 трубку

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6

 -- Executing [315@from-internal:1] Macro("SIP/301-00000147", "exten-vm,315,315") in new stack
 -- Executing [s@macro-exten-vm:1] Macro("SIP/301-00000147", "user-callerid") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/301-00000147", "AMPUSER=301") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/301-00000147", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/301-00000147", "1?Set(REALCALLERIDNUM=301)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/301-00000147", "AMPUSER=301") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/301-00000147", "AMPUSERCIDNAME=301") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/301-00000147", "0?report") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/301-00000147", "AMPUSERCID=301") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/301-00000147", "CALLERID(all)="301" <301>") in new stack
-- Executing [s@macro-user-callerid:9] ExecIf("SIP/301-00000147", "0?Set(CHANNEL(language)=)") in new stack
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/301-00000147", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/301-00000147", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/301-00000147", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] NoOp("SIP/301-00000147", "Using CallerID "301" <301>") in new stack
-- Executing [s@macro-exten-vm:2] Set("SIP/301-00000147", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("SIP/301-00000147", "VMBOX=315") in new stack
-- Executing [s@macro-exten-vm:4] Set("SIP/301-00000147", "EXTTOCALL=315") in new stack
-- Executing [s@macro-exten-vm:5] Set("SIP/301-00000147", "CFUEXT=") in new stack
-- Executing [s@macro-exten-vm:6] Set("SIP/301-00000147", "CFBEXT=") in new stack
-- Executing [s@macro-exten-vm:7] Set("SIP/301-00000147", "RT=180") in new stack
-- Executing [s@macro-exten-vm:8] Macro("SIP/301-00000147", "record-enable,315,IN") in new stack
-- Executing [s@macro-record-enable:1] NoOp("SIP/301-00000147", "1349691500.653") in new stack
-- Executing [s@macro-record-enable:2] GotoIf("SIP/301-00000147", "1?:check") in new stack
-- Executing [s@macro-record-enable:3] ResetCDR("SIP/301-00000147", "w") in new stack
-- Executing [s@macro-record-enable:4] StopMixMonitor("SIP/301-00000147", "") in new stack
-- Executing [s@macro-record-enable:5] ExecIf("SIP/301-00000147", "0,MacroExit,") in new stack
-- Executing [s@macro-record-enable:6] GotoIf("SIP/301-00000147", "0?Group:OUT") in new stack
-- Goto (macro-record-enable,s,17)
-- Executing [s@macro-record-enable:17] GotoIf("SIP/301-00000147", "1?IN") in new stack
-- Goto (macro-record-enable,s,22)
-- Executing [s@macro-record-enable:22] ExecIf("SIP/301-00000147", "0,MacroExit,") in new stack
-- Executing [s@macro-record-enable:23] NoOp("SIP/301-00000147", "Recording enable for 315") in new stack
-- Executing [s@macro-record-enable:24] Set("SIP/301-00000147", "CALLFILENAME=20121008-141820-1349691500.653") in new stack
-- Executing [s@macro-record-enable:25] MixMonitor("SIP/301-00000147", "20121008-141820-1349691500.653.wav,,") in new stack
-- Executing [s@macro-record-enable:26] MacroExit("SIP/301-00000147", "") in new stack
-- Executing [s@macro-exten-vm:9] Macro("SIP/301-00000147", "dial,180,tr,315") in new stack
-- Executing [s@macro-dial:1] GotoIf("SIP/301-00000147", "1?dial") in new stack
== Begin MixMonitor Recording SIP/301-00000147
-- Goto (macro-dial,s,3)
-- Executing [s@macro-dial:3] AGI("SIP/301-00000147", "dialparties.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
trixbox1*CLI> 
dialparties.agi: Starting New Dialparties.agi
dialparties.agi: Caller ID name is '301' number is '301'
     > dialparties.agi: USE_CONFIRMATION:  'FALSE'
   > dialparties.agi: RINGGROUP_INDEX:   ''
dialparties.agi: Methodology of ring is  'none'
-- dialparties.agi: Added extension 315 to extension map
-- dialparties.agi: Extension 315 cf is disabled
-- dialparties.agi: Extension 315 do not disturb is disabled
   > dialparties.agi: extnum 315 has:  cw: 1; hascfb: 0 [] hascfu: 0 []
dialparties.agi: EXTENSION_STATE: 0 (NOT_INUSE)
-- dialparties.agi: dbset CALLTRACE/315 to 301
-- dialparties.agi: Filtered ARG3: 315
-- <SIP/301-00000147>AGI Script dialparties.agi completed, returning 0
-- Executing [s@macro-dial:7] Dial("SIP/301-00000147", "SIP/315,180,tr") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6
-- Called 315
-- SIP/315-00000148 is ringing

как я вижу в логе оба файла создались нормально, НО в базу по звонку между 301 и 315 попала запись:

2012-10-08 14:18:23 315 from-internal Local/301@from-internal-7f81;2 SIP/315-00000148 Dial SIP/315,180,tr 86 84 ANSWERED 3 1349691485.651

куда копнуть? почему в БД пишется старый uniqueid и другое время файла?

Trixbox + Flash и Запись разговоров

Добрый день!

У меня TrixBox с шлюзами Linksys на внутренние телефоны.

Нарисовалась следующая проблема:

Поступает звонок на рецепшн (тел. 301), создается файл записи разговора и в базу пишется его uniqueid. Далее 301 переводит этот звонок допустим на 315, и вот тут возникает ситуация:

  • если перевод сделан через # , то все работает правильно, соединение устанавливается, создается новый файл записи разговора и в базу записывается новый uniqueid.

  • если перевод сделан через FLASH, то звонок переводится, новый файл записи создается, но в базу записывается uniqueid старый ... и как следствие нет возможности прослушать звонок через вэб-морду.

По логам

...

это создается файл записи при ответе 301 трубки

-- Executing [s@macro-record-enable:23] NoOp("Local/301@from-internal-7f81;2", "Recording enable for 301") in new stack
-- Executing [s@macro-record-enable:24] Set("Local/301@from-internal-7f81;2", "CALLFILENAME=20121008-141805-1349691485.651") in new stack
-- Executing [s@macro-record-enable:25] MixMonitor("Local/301@from-internal-7f81;2", "20121008-141805-1349691485.651.wav,,") in new stack
-- Executing [s@macro-record-enable:26] MacroExit("Local/301@from-internal-7f81;2", "") in new stack

...

жмем Flash

-- Executing [s@macro-record-enable:23] NoOp("Local/301@from-internal-7f81;2", "Recording enable for 301") in new stack
 -- Started music on hold, class 'default', on Local/301@from-internal-7f81;2

...

набираем 315 трубку

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6

 -- Executing [315@from-internal:1] Macro("SIP/301-00000147", "exten-vm,315,315") in new stack
 -- Executing [s@macro-exten-vm:1] Macro("SIP/301-00000147", "user-callerid") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/301-00000147", "AMPUSER=301") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/301-00000147", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/301-00000147", "1?Set(REALCALLERIDNUM=301)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/301-00000147", "AMPUSER=301") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/301-00000147", "AMPUSERCIDNAME=301") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/301-00000147", "0?report") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/301-00000147", "AMPUSERCID=301") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/301-00000147", "CALLERID(all)="301" <301>") in new stack
-- Executing [s@macro-user-callerid:9] ExecIf("SIP/301-00000147", "0?Set(CHANNEL(language)=)") in new stack
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/301-00000147", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/301-00000147", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/301-00000147", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] NoOp("SIP/301-00000147", "Using CallerID "301" <301>") in new stack
-- Executing [s@macro-exten-vm:2] Set("SIP/301-00000147", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("SIP/301-00000147", "VMBOX=315") in new stack
-- Executing [s@macro-exten-vm:4] Set("SIP/301-00000147", "EXTTOCALL=315") in new stack
-- Executing [s@macro-exten-vm:5] Set("SIP/301-00000147", "CFUEXT=") in new stack
-- Executing [s@macro-exten-vm:6] Set("SIP/301-00000147", "CFBEXT=") in new stack
-- Executing [s@macro-exten-vm:7] Set("SIP/301-00000147", "RT=180") in new stack
-- Executing [s@macro-exten-vm:8] Macro("SIP/301-00000147", "record-enable,315,IN") in new stack
-- Executing [s@macro-record-enable:1] NoOp("SIP/301-00000147", "1349691500.653") in new stack
-- Executing [s@macro-record-enable:2] GotoIf("SIP/301-00000147", "1?:check") in new stack
-- Executing [s@macro-record-enable:3] ResetCDR("SIP/301-00000147", "w") in new stack
-- Executing [s@macro-record-enable:4] StopMixMonitor("SIP/301-00000147", "") in new stack
-- Executing [s@macro-record-enable:5] ExecIf("SIP/301-00000147", "0,MacroExit,") in new stack
-- Executing [s@macro-record-enable:6] GotoIf("SIP/301-00000147", "0?Group:OUT") in new stack
-- Goto (macro-record-enable,s,17)
-- Executing [s@macro-record-enable:17] GotoIf("SIP/301-00000147", "1?IN") in new stack
-- Goto (macro-record-enable,s,22)
-- Executing [s@macro-record-enable:22] ExecIf("SIP/301-00000147", "0,MacroExit,") in new stack
-- Executing [s@macro-record-enable:23] NoOp("SIP/301-00000147", "Recording enable for 315") in new stack
-- Executing [s@macro-record-enable:24] Set("SIP/301-00000147", "CALLFILENAME=20121008-141820-1349691500.653") in new stack
-- Executing [s@macro-record-enable:25] MixMonitor("SIP/301-00000147", "20121008-141820-1349691500.653.wav,,") in new stack
-- Executing [s@macro-record-enable:26] MacroExit("SIP/301-00000147", "") in new stack
-- Executing [s@macro-exten-vm:9] Macro("SIP/301-00000147", "dial,180,tr,315") in new stack
-- Executing [s@macro-dial:1] GotoIf("SIP/301-00000147", "1?dial") in new stack
== Begin MixMonitor Recording SIP/301-00000147
-- Goto (macro-dial,s,3)
-- Executing [s@macro-dial:3] AGI("SIP/301-00000147", "dialparties.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
trixbox1*CLI> 
dialparties.agi: Starting New Dialparties.agi
dialparties.agi: Caller ID name is '301' number is '301'
     > dialparties.agi: USE_CONFIRMATION:  'FALSE'
   > dialparties.agi: RINGGROUP_INDEX:   ''
dialparties.agi: Methodology of ring is  'none'
-- dialparties.agi: Added extension 315 to extension map
-- dialparties.agi: Extension 315 cf is disabled
-- dialparties.agi: Extension 315 do not disturb is disabled
   > dialparties.agi: extnum 315 has:  cw: 1; hascfb: 0 [] hascfu: 0 []
dialparties.agi: EXTENSION_STATE: 0 (NOT_INUSE)
-- dialparties.agi: dbset CALLTRACE/315 to 301
-- dialparties.agi: Filtered ARG3: 315
-- <SIP/301-00000147>AGI Script dialparties.agi completed, returning 0
-- Executing [s@macro-dial:7] Dial("SIP/301-00000147", "SIP/315,180,tr") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6
-- Called 315
-- SIP/315-00000148 is ringing

как я вижу в логе оба файла создались нормально, НО в базу по звонку между 301 и 315 попала запись:

2012-10-08 14:18:23 315 from-internal Local/301@from-internal-7f81;2 SIP/315-00000148 Dial SIP/315,180,tr 86 84 ANSWERED 3 1349691485.651

куда копнуть? почему в БД пишется старый uniqueid и другое время файла?

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.