Сдвиг при записи через MixMonitor
Добавлено: 24 сен 2012, 18:05
slayder.x3
Всем Всем хорошего настроения!
Есть такая проблема: при записи звонка через MixMonitor в результирующем файле наблюдается сдвиг. Голос внутреннего абонента звучит секунд на 10-15 раньше, чем внешнего. Судя по всему разница во времени совпадает с длительностью ожидания абонента, пока идет соединение. Кто-нибудь сталкивался с подобным? Куда копать?
Re: Сдвиг при записи через MixMonitor
Добавлено: 24 сен 2012, 18:09
ded
Точное время на сервере Астериск, синхронизация с pool.ntp.org
Re: Сдвиг при записи через MixMonitor
Добавлено: 24 сен 2012, 18:14
slayder.x3
ded писал(а):Точное время на сервере Астериск, синхронизация с pool.ntp.org
Время синхронизировано.
Уточню: общение с внешним миром через Dahdi. E1 плата. Время, по идее не должно влиять. Разницы внутренние или внешние разговоры - нет.
Как будто один канал пишется с момента набора номера, а второй с момента ответа. И при сложении - получается сдвиг
Re: Сдвиг при записи через MixMonitor
Добавлено: 24 сен 2012, 18:32
slayder.x3
Приложу лог:
-- Executing [89059561445@from-internal:1] Macro("SIP/3001-00000004", "user-callerid,LIMIT,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/3001-00000004", "AMPUSER=3001") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/3001-00000004", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/3001-00000004", "1?Set(REALCALLERIDNUM=3001)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/3001-00000004", "AMPUSERCIDNAME=Savlyuk S") in new stack
-- Executing [s@macro-user-callerid:5] GotoIf("SIP/3001-00000004", "0?report") in new stack
-- Executing [s@macro-user-callerid:6] Set("SIP/3001-00000004", "AMPUSERCID=3001") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/3001-00000004", "CALLERID(all)="Savlyuk S" <3001>") in new stack
-- Executing [s@macro-user-callerid:8] GotoIf("SIP/3001-00000004", "0?limit") in new stack
-- Executing [s@macro-user-callerid:9] ExecIf("SIP/3001-00000004", "1?Set(GROUP(concurrency_limit)=3001)") in new stack
-- Executing [s@macro-user-callerid:10] GosubIf("SIP/3001-00000004", "0?sub-ccss,s,1(from-internal,89059561445)") in new stack
-- Executing [s@macro-user-callerid:11] GotoIf("SIP/3001-00000004", "1?continue") in new stack
-- Goto (macro-user-callerid,s,24)
-- Executing [s@macro-user-callerid:24] Set("SIP/3001-00000004", "CALLERID(number)=3001") in new stack
-- Executing [s@macro-user-callerid:25] Set("SIP/3001-00000004", "CALLERID(name)=Savlyuk S") in new stack
-- Executing [s@macro-user-callerid:26] Set("SIP/3001-00000004", "CHANNEL(language)=ru") in new stack
-- Executing [s@macro-user-callerid:27] Set("SIP/3001-00000004", "CHANNEL(language)=ru") in new stack
-- Executing [89059561445@from-internal:2] Set("SIP/3001-00000004", "MOHCLASS=default") in new stack
-- Executing [89059561445@from-internal:3] Set("SIP/3001-00000004", "_NODEST=") in new stack
-- Executing [89059561445@from-internal:4] Gosub("SIP/3001-00000004", "sub-record-check,s,1(out,89059561445,)") in new stack
-- Executing [s@sub-record-check:1] GotoIf("SIP/3001-00000004", "1?check") in new stack
-- Goto (sub-record-check,s,6)
-- Executing [s@sub-record-check:6] Set("SIP/3001-00000004", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:7] GotoIf("SIP/3001-00000004", "1?next") in new stack
-- Goto (sub-record-check,s,10)
-- Executing [s@sub-record-check:10] ExecIf("SIP/3001-00000004", "0?Return()") in new stack
-- Executing [s@sub-record-check:11] GotoIf("SIP/3001-00000004", "0?out,1") in new stack
-- Executing [s@sub-record-check:12] Set("SIP/3001-00000004", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:13] ExecIf("SIP/3001-00000004", "0?Set(__REC_POLICY_MODE=)") in new stack
-- Executing [s@sub-record-check:14] Set("SIP/3001-00000004", "NOW=1348496706") in new stack
-- Executing [s@sub-record-check:15] Set("SIP/3001-00000004", "__DAY=24") in new stack
-- Executing [s@sub-record-check:16] Set("SIP/3001-00000004", "__MONTH=09") in new stack
-- Executing [s@sub-record-check:17] Set("SIP/3001-00000004", "__YEAR=2012") in new stack
-- Executing [s@sub-record-check:18] Set("SIP/3001-00000004", "__TIMESTR=20120924-212506") in new stack
-- Executing [s@sub-record-check:19] Set("SIP/3001-00000004", "__FROMEXTEN=3001") in new stack
-- Executing [s@sub-record-check:20] Set("SIP/3001-00000004", "__CALLFILENAME=out-89059561445-3001-20120924-212506-1348496706.8") in new stack
-- Executing [s@sub-record-check:21] Goto("SIP/3001-00000004", "out,1") in new stack
-- Goto (sub-record-check,out,1)
-- Executing [out@sub-record-check:1] ExecIf("SIP/3001-00000004", "1?Set(__REC_POLICY_MODE=always)") in new stack
-- Executing [out@sub-record-check:2] GosubIf("SIP/3001-00000004", "1?record,1(exten,89059561445,3001)") in new stack
-- Executing [record@sub-record-check:1] Set("SIP/3001-00000004", "AUDIOHOOK_INHERIT(MixMonitor)=yes") in new stack
-- Executing [record@sub-record-check:2] MixMonitor("SIP/3001-00000004", "/home/recordings/2012/09/24/out-89059561445-3001-20120924-212506-1348496706.8.wav,,/usr/local/bin/lame -V7 ^{MIXMON_DIR}^{YEAR}/^{MONTH}/^{DAY}/^{CALLFILENAME}.wav ^{MIXMON_DIR}^{YEAR}/^{MONTH}/^{DAY}/^{CALLFILENAME}.mp3 && rm -f ^{MIXMON_DIR}^{YEAR}/^{MONTH}/^{DAY}/^{CALLFILENAME}.wav") in new stack
-- Executing [record@sub-record-check:3] Set("SIP/3001-00000004", "__REC_STATUS=RECORDING") in new stack
-- Executing [record@sub-record-check:4] Set("SIP/3001-00000004", "CDR(recordingfile)=out-89059561445-3001-20120924-212506-1348496706.8.wav") in new stack
-- Executing [record@sub-record-check:5] Return("SIP/3001-00000004", "") in new stack
-- Executing [out@sub-record-check:3] Return("SIP/3001-00000004", "") in new stack
-- Executing [89059561445@from-internal:5] Macro("SIP/3001-00000004", "dialout-trunk,2,989059561445,") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("SIP/3001-00000004", "DIAL_TRUNK=2") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/3001-00000004", "0?sub-pincheck,s,1()") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/3001-00000004", "0?disabletrunk,1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("SIP/3001-00000004", "DIAL_NUMBER=989059561445") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("SIP/3001-00000004", "DIAL_TRUNK_OPTIONS=t") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("SIP/3001-00000004", "OUTBOUND_GROUP=OUT_2") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/3001-00000004", "0?nomax") in new stack
-- Executing [s@macro-dialout-trunk:8] GotoIf("SIP/3001-00000004", "0?chanfull") in new stack
-- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/3001-00000004", "0?skipoutcid") in new stack
-- Executing [s@macro-dialout-trunk:10] Set("SIP/3001-00000004", "DIAL_TRUNK_OPTIONS=t") in new stack
-- Executing [s@macro-dialout-trunk:11] Macro("SIP/3001-00000004", "outbound-callerid,2") in new stack
-- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/3001-00000004", "0?Set(CALLERPRES()=)") in new stack
-- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/3001-00000004", "0?Set(REALCALLERIDNUM=3001)") in new stack
-- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/3001-00000004", "1?normcid") in new stack
== Begin MixMonitor Recording SIP/3001-00000004
-- Goto (macro-outbound-callerid,s,6)
-- Executing [s@macro-outbound-callerid:6] Set("SIP/3001-00000004", "USEROUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:7] Set("SIP/3001-00000004", "EMERGENCYCID=") in new stack
-- Executing [s@macro-outbound-callerid:8] Set("SIP/3001-00000004", "TRUNKOUTCID=3833358077") in new stack
-- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/3001-00000004", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,12)
-- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/3001-00000004", "1?Set(CALLERID(all)=3833358077)") in new stack
-- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/3001-00000004", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/3001-00000004", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/3001-00000004", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
-- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/3001-00000004", "0?sub-flp-2,s,1()") in new stack
-- Executing [s@macro-dialout-trunk:13] Set("SIP/3001-00000004", "OUTNUM=989059561445") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/3001-00000004", "custom=DAHDI/g0") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/3001-00000004", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)t)") in new stack
-- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/3001-00000004", "0?Set(DIAL_TRUNK_OPTIONS=tM(confirm))") in new stack
-- Executing [s@macro-dialout-trunk:17] Macro("SIP/3001-00000004", "dialout-trunk-predial-hook,") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/3001-00000004", "") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/3001-00000004", "0?bypass,1") in new stack
-- Executing [s@macro-dialout-trunk:19] ExecIf("SIP/3001-00000004", "1?Set(CONNECTEDLINE(num,i)=989059561445)") in new stack
-- Executing [s@macro-dialout-trunk:20] ExecIf("SIP/3001-00000004", "1?Set(CONNECTEDLINE(name,i)=CID:3833358077)") in new stack
-- Executing [s@macro-dialout-trunk:21] GotoIf("SIP/3001-00000004", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:22] Dial("SIP/3001-00000004", "DAHDI/g0/989059561445,300,t") in new stack
-- Requested transfer capability: 0x00 - SPEECH
-- Called DAHDI/g0/989059561445
-- DAHDI/i1/989059561445-5 is proceeding passing it to SIP/3001-00000004
-- Hungup 'DAHDI/i1/989059561445-5'
== Spawn extension (macro-dialout-trunk, s, 22) exited non-zero on 'SIP/3001-00000004' in macro 'dialout-trunk'
== Spawn extension (from-internal, 89059561445, 5) exited non-zero on 'SIP/3001-00000004'
-- Executing [h@from-internal:1] Hangup("SIP/3001-00000004", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/3001-00000004'
== Executing [/usr/local/bin/lame -V7 /home/recordings/2012/09/24/out-89059561445-3001-20120924-212506-1348496706.8.wav /home/recordings/2012/09/24/out-89059561445-3001-20120924-212506-1348496706.8.mp3 && rm -f /home/recordings/2012/09/24/out-89059561445-3001-20120924-212506-1348496706.8.wav]
== End MixMonitor Recording SIP/3001-00000004
Re: Сдвиг при записи через MixMonitor
Добавлено: 26 сен 2012, 08:47
slayder.x3
Все проапдейтено до последних релизов - ситуация та же. Есть подозрение что в разных контекстах инициируется запись для одного и того же звонка. Из-за этого происходит сдвиг... Есть мысли?
Re: Сдвиг при записи через MixMonitor
Добавлено: 26 сен 2012, 09:14
Vlad1983
первичный wav слушать пробовали, т.е. тот что до конвертирования в mp3?
можно ещё поставить опцию b чтоб не писало до ответа