Автор Тема: Статистика и прослушивание звонков asterisk  (Прочитано 179657 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #90 : 14 января 2015, 20:21:48 »
Вопрос снимаю, надо было доставить php-mysql
все же надо инструкцию с зависимостями.
да как-то всегда ./configure подсказывает чего ему не хватило
что до php-mysql, то это как бы само сабой разумеющееся  :pardon:
 
P.S. спасибо за vmware+ adaptec =)
пожалуйста, для спасибо у нас тут еще кнопочка под ником с аватаркой есть (Рейтинг)  :)
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #91 : 14 января 2015, 22:29:52 »
Убрать + в начале имен файлов можно таким вот костылем:
#!/bin/bash
for i in $(find ./ -name "+*");
 do  x=$(echo $i |cut -c 4-)
     mv $i $x
done
листинг работы:

fessae@workbook ~/4sommer $ ls -la
total 12
drwxr-xr-x  2 fessae fessae 4096 янв.  15 02:20 .
drwxr-xr-x 60 fessae fessae 4096 янв.  15 02:20 ..
-rw-r--r--  1 fessae fessae    0 янв.  15 02:20 +79130751120.mp3
-rw-r--r--  1 fessae fessae    0 янв.  15 02:20 +79130751121.mp3
-rw-r--r--  1 fessae fessae    0 янв.  15 02:20 +79130751124.mp3
-rw-r--r--  1 fessae fessae    0 янв.  15 02:19 +79130751127.mp3
-rw-r--r--  1 fessae fessae    0 янв.  15 02:20 +79130751128.mp3
-rw-r--r--  1 fessae fessae   92 янв.  15 02:20 test.sh
fessae@workbook ~/4sommer $ bash ./test.sh
fessae@workbook ~/4sommer $ ls -la
total 12
drwxr-xr-x  2 fessae fessae 4096 янв.  15 02:20 .
drwxr-xr-x 60 fessae fessae 4096 янв.  15 02:20 ..
-rw-r--r--  1 fessae fessae    0 янв.  15 02:20 79130751120.mp3
-rw-r--r--  1 fessae fessae    0 янв.  15 02:20 79130751121.mp3
-rw-r--r--  1 fessae fessae    0 янв.  15 02:20 79130751124.mp3
-rw-r--r--  1 fessae fessae    0 янв.  15 02:19 79130751127.mp3
-rw-r--r--  1 fessae fessae    0 янв.  15 02:20 79130751128.mp3
-rw-r--r--  1 fessae fessae   92 янв.  15 02:20 test.sh
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Оффлайн Ilya_Nsk

  • Новичок
  • *
  • Сообщений: 1
  • Рейтинг: 0
  • Пол: Мужской
    • ilyansker
    • Просмотр профиля
  • Откуда: Новосибирск
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #92 : 19 февраля 2015, 08:55:39 »
поработал с введением этой штуки в строй.. пока допер, как совместить  records/filename c реальностью.. там же в функции не включено /mp3/ в проверку наличия.
надо бы статью на хабре подправлять по этому поводу

а от плюса я избавляюсь  в диаллане (у меня макрос чуть поправлен, ARG1 кто звонит, ARG2 - кому, переводятся с усекновением плюса в who И to_whom соответственно, которые и использую при конструировании имени файла)
exten => s,n,Set(who=${IF($["${ARG1:0:1}"="+"]?${ARG1:1}:${ARG1})})
exten => s,n,Set(to_whom=${IF($["${ARG2:0:1}"="+"]?${ARG2:1}:${ARG2})})
Но может потребоваться еще проверка на звездочку, буде кто включает ее в экстеншены
P.S. Модераторы, ну капча у вас на ресурсе, ну это просто катастрофа и хорошо, что ответом к примеру не 1252325452

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #93 : 23 февраля 2015, 20:50:55 »
поработал с введением этой штуки в строй.. пока допер, как совместить  records/filename c реальностью.. там же в функции не включено /mp3/ в проверку наличия.
надо бы статью на хабре подправлять по этому поводу
не понятно, что нужно проверять в функции
P.S. Модераторы, ну капча у вас на ресурсе, ну это просто катастрофа и хорошо, что ответом к примеру не 1252325452
необходимость вводить капчу пропадает после нескольких сообщений на форуме.
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Оффлайн ronaldo-nn

  • Новичок
  • *
  • Сообщений: 2
  • Рейтинг: 0
  • Пол: Мужской
    • ronaldonn1
    • Просмотр профиля
  • Откуда: Нижний Новгород
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #94 : 27 марта 2015, 18:34:00 »
Автору огромное спасибо за труды. Все замечательно работает.
Одно только огорчение. На моем астериске есть фича использующая call файлы для коллбека. Функция записи работает, CDR добавляет строку в таблицу. Но кастомный столбец "filename" не заполняется при этом. Т.е. встроенные поля генерятся, а поле filename - нет. В итоге файл с разговором лежит мертвым грузом, а через веб-морду его не прослушать.
Диал-план выглядит примерно так:
[sip]
exten => _.X,1,Macro(record,${CALLERID(num)},${EXTEN})
[macro-record]
exten => s,1, Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)}-${ARG1}-${ARG2})
exten => s,n, Set(monopt=nice -n 19 /usr/bin/lame -b 32  --silent "${WAV}/${fname}.wav"  "${MP3}/${fname}.mp3" && rm -f "${WAV}/${fname}.wav" && chmod o+r "${MP3}/${fname}.mp3")
exten => s,n, Set(CDR(filename)=${fname}.mp3)
exten => s,n, Set(CDR(realdst)=${ARG2})
exten => s,n, MixMonitor(${WAV}/${fname}.wav,b,${monopt})
exten => s,n, Goto(sip-recorded,${MACRO_EXTEN},1)
[sip-recorded]
exten => _.X,1,Dial(SIP/${EXTEN})
Причем проблема именно с call файлами, при обычных звонках всё тип-топ.
Может кто в курсе как управлять записями cdr в call файлах?

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #95 : 27 марта 2015, 23:08:09 »
ronaldo-nn, покажите call файл и дебаг
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Оффлайн ronaldo-nn

  • Новичок
  • *
  • Сообщений: 2
  • Рейтинг: 0
  • Пол: Мужской
    • ronaldonn1
    • Просмотр профиля
  • Откуда: Нижний Новгород
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #96 : 30 марта 2015, 09:53:33 »
Тока тут наворочено много не по теме. Прокомментирую под кодом
Call файл примерно такой:
Channel: Local/1@autocaller
MaxRetries: 0
RetryTime: 60
WaitTime: 30
Context: sip
CallerID: 3000
Extension: 3000
Priority: 1
Вот еще куски диалплана
[autocaller]
exten => 1,1,Macro(call5715user,5715)

[macro-call5715user]
exten => s,1, NooP(${CALLERID(num)})
exten => s,n, Dial(H323/${ARG1}@atska,,t|60|M(privet))
exten => s,n, Goto(s-${DIALSTATUS},1)
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,n,Hangup()
exten => s-BUSY,n,Hangup()
exten => _s-.,1,Goto(s-NOANSWER,1)

[macro-privet]
exten => s,1, AGI(govorilka.php,"Здесь какое-то приветствие")
exten => s,n, Playback(${GVOICE})
Собственно сама консоль
    -- Attempting call on Local/1@autocaller for 3000@sip:1 (Retry 1)
    -- Executing [1@autocaller:1] Macro("Local/1@autocaller-0000000e;2", "record,5715") in new stack
    -- Executing [s@macro-record:1] NoOp("Local/1@autocaller-0000000e;2", "3000") in new stack
    -- Executing [s@macro-record:2] Dial("Local/1@autocaller-0000000e;2", "H323/5715@atska,5,t|60|M(privet)") in new stack
  == Using H323 RTP TOS bits 184
  == Using H323 RTP CoS mark 6
  == Using UDPTL TOS bits 184
  == Using UDPTL CoS mark 6
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called H323/5715@atska
    -- H323/atska-30 is ringing
    -- H323/atska-30 is ringing
    -- H323/atska-30 is making progress passing it to Local/1@autocaller-0000000e;2
    -- H323/atska-30 answered Local/1@autocaller-0000000e;2
    -- Executing [s@macro-privet:1] AGI("H323/atska-30", "govorilka.php,"Здесь какое-то приветствие"") in new stack
    -- Launched AGI Script /usr/local/asterisk/var/lib/asterisk/agi-bin/govorilka.php
    -- <H323/atska-30>AGI Script govorilka.php completed, returning 0
    -- Executing [s@macro-privet:2] Playback("H323/atska-30", "/usr/local/asterisk/var/lib/asterisk/govorilka/6c93fa3232431db27d3731a60d22d61b") in new stack
    -- <H323/atska-30> Playing '/usr/local/asterisk/var/lib/asterisk/govorilka/6c93fa3232431db27d3731a60d22d61b.alaw' (language 'en')
       > 0x8f5dbca8 -- Probation passed - setting RTP source address to 192.168.118.118:32688
       > Channel Local/1@autocaller-0000000e;1 was answered
    -- Executing [3000@sip:1] Macro("Local/1@autocaller-0000000e;1", "sip-recorded,3000,3000") in new stack
    -- Executing [s@macro-sip-recorded:1] Set("Local/1@autocaller-0000000e;1", "fname=1427694294.164-2015-03-30-08_44-3000-3000") in new stack
    -- Executing [s@macro-sip-recorded:2] Set("Local/1@autocaller-0000000e;1", "monopt=nice -n 19 /usr/bin/lame -b 32  --silent "/records/wav/1427694294.164-2015-03-30-08_44-3000-3000.wav"  "/records/mp3/1427694294.164-2015-03-30-08_44-3000-3000.mp3" && rm -f "/records/wav/1427694294.164-2015-03-30-08_44-3000-3000.wav" && chmod o+r "/records/mp3/1427694294.164-2015-03-30-08_44-3000-3000.mp3" ") in new stack
    -- Executing [s@macro-sip-recorded:3] Set("Local/1@autocaller-0000000e;1", "CDR(filename)=1427694294.164-2015-03-30-08_44-3000-3000.mp3") in new stack
    -- Executing [s@macro-sip-recorded:4] Set("Local/1@autocaller-0000000e;1", "CDR(realdst)=3000") in new stack
    -- Executing [s@macro-sip-recorded:5] MixMonitor("Local/1@autocaller-0000000e;1", "/records/wav/1427694294.164-2015-03-30-08_44-3000-3000.wav,b,nice -n 19 /usr/bin/lame -b 32  --silent "/records/wav/1427694294.164-2015-03-30-08_44-3000-3000.wav"  "/records/mp3/1427694294.164-2015-03-30-08_44-3000-3000.mp3" && rm -f "/records/wav/1427694294.164-2015-03-30-08_44-3000-3000.wav" && chmod o+r "/records/mp3/1427694294.164-2015-03-30-08_44-3000-3000.mp3") in new stack
    -- Executing [s@macro-sip-recorded:6] Goto("Local/1@autocaller-0000000e;1", "sip-recorded,3000,1") in new stack
    -- Goto (sip-recorded,3000,1)
  == Channel 'Local/1@autocaller-0000000e;1' jumping out of macro 'sip-recorded'
    -- Executing [3000@sip-recorded:1] Dial("Local/1@autocaller-0000000e;1", "SIP/3000") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/3000
    -- Local/1@autocaller-0000000e;1 requested media update control 20, passing it to SIP/3000-00000068
  == Begin MixMonitor Recording Local/1@autocaller-0000000e;1
       > [INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,uniqueid) VALUES ({ ts '2015-03-30 08:44:54' },'3000','3000','1','autocaller','Local/1@autocaller-0000000e;2','H323/atska-30','Dial','H323/5715@atska,5,t|60|M(privet)',3,2,'ANSWERED',3,'1427694294.165')]
  == Spawn extension (macro-record, s, 2) exited non-zero on 'Local/1@autocaller-0000000e;2' in macro 'record'
  == Spawn extension (autocaller, 1, 1) exited non-zero on 'Local/1@autocaller-0000000e;2'
    -- SIP/3000-00000068 is ringing
       > 0xb75501b8 -- Probation passed - setting RTP source address to 192.168.11.10:62342
    -- SIP/3000-00000068 answered H323/atska-30
       > 0xb75501b8 -- Probation passed - setting RTP source address to 192.168.11.10:62342
[Mar 30 08:45:09] NOTICE[10191]: chan_sip.c:27853 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 3000
       > [INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,uniqueid) VALUES ({ ts '2015-03-30 08:44:57' },'3000','3000','3000','sip-recorded','H323/atska-30','SIP/3000-00000068','Dial','SIP/3000',22,12,'ANSWERED',3,'1427694294.166')]
  == Spawn extension (sip-recorded, 3000, 1) exited non-zero on 'H323/atska-30'
  == MixMonitor close filestream (mixed)
  == Executing [nice -n 19 /usr/bin/lame -b 32  --silent "/records/wav/1427694294.164-2015-03-30-08_44-3000-3000.wav"  "/records/mp3/1427694294.164-2015-03-30-08_44-3000-3000.mp3" && rm -f "/records/wav/1427694294.164-2015-03-30-08_44-3000-3000.wav" && chmod o+r "/records/mp3/1427694294.164-2015-03-30-08_44-3000-3000.mp3"]
[Mar 30 08:45:20] NOTICE[1872]: pbx_spool.c:402 attempt_thread: Call completed to Local/1@autocaller
  == End MixMonitor Recording Local/1@autocaller-0000000e;1
Комментарии:
Первый звонок уходит на номер 5715 транзитом через Localchannel (сделано для того, чтобы воспроизвести информационное сообщение, когда там ответят на вызов). Сразу напишу, что звонок в обход localchannel (напрямую на номер 5715)- ничего не меняет.
Когда 5715 берет трубку и прослушает сообщение идет дозвон на номер 3000.
В CDR попадают две записи (обе с пустым столбцом filename) и создается два рекорд файла.
По поводу h323 не напрягайтесь. Запись идет и по sip и по h323. Дело не в канале, а именно в call файлах.

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Оффлайн scrame

  • Начинающий
  • *
  • Сообщений: 25
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Saint-Petersburg
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #98 : 02 апреля 2015, 12:23:48 »
Добрый день.
Наткнулся на вашу статью по CDR Viewer, организовал пока только просмотр статистики...  Все круто, за перевод и убирание лишних столбцов вообще отдельное спасибо.

Появилась необходимость (наконец то =) ) записывать входящие звонки.
Т.к. я не использую extensions.ael, а по старинке в конфиге все ручками, появилась пара вопросов:
1. будет ли работать такой вот вариант:
Спойлер для скрыто:
exten => s,1(start),Answer()
exten => s,n,Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=2)
exten => s,n,Background(/ast_snd/IVR/03-record)
exten => s,n,Set(WAV=/records/wav)
exten => s,n,Set(MP3=/records/mp3)
exten => s,n,Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)}-${calling}-${called})
exten => s,n,Set(monopt=nice -n 19 /usr/bin/lame -b 32  --silent "${WAV}/${fname}.wav"  "${MP3}/${fname}.mp3" && rm -f "${WAV}/${fname}.wav" && chmod o+r "${MP3}/${fname}.mp3")
exten => s,n,Set((CDR(filename)=${fname}.mp3))
exten => s,n,Set(CDR(realdst)=${called})
exten => s,n,MixMonitor(${WAV}/${fname}.wav,b,${monopt})
exten => s,n,Queue(msk_call,nt)
exten => s,n,HangUp()

При учете, что в CDR пишется через ODBC драйвер.
Так же хочу обратить внимание, что  вызывается очередь, а не просто телефон...

вопрос № 2.

в /usr/bin/ нет исполняемого файла lame... вообще в принципе в системе lame нет.
yum не знает такого пакета... соответственно при его отсутствии, перекодщировка в мп3 производиться не будет.
так вот сам вопрос - вы ставили lame из репозитариев, или собирали из сорцов?

Буду при много благодарен за ПРАВИЛЬНУЮ ссылку на репозиторий или ссылку на сорцы для лэйма...
OS: CentOs 6.5 x64

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #99 : 02 апреля 2015, 20:12:49 »
так вот сам вопрос - вы ставили lame из репозитариев, или собирали из сорцов?
из реп, на Debian есть
подключи репозиторий rpmforge, там есть lame
1. будет ли работать такой вот вариант:
так проверь =)
Так же хочу обратить внимание, что  вызывается очередь, а не просто телефон...
пофиг
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Оффлайн scrame

  • Начинающий
  • *
  • Сообщений: 25
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Saint-Petersburg
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #100 : 03 апреля 2015, 14:35:18 »
не работает

Спойлер для скрыто:
[Apr  3 13:26:33]     -- Executing [s@open_msk:5] Set("SIP/gw-00000ce4", "WAV=/records/wav") in new stack
[Apr  3 13:26:33]     -- Executing [s@open_msk:6] Set("SIP/gw-00000ce4", "MP3=/records/mp3") in new stack
[Apr  3 13:26:33]     -- Executing [s@open_msk:7] Set("SIP/gw-00000ce4", "fname=1428056789.3300-2015-04-03-13_26--") in new stack
[Apr  3 13:26:33]     -- Executing [s@open_msk:8] Set("SIP/gw-00000ce4", "monopt=nice -n 19 /usr/bin/lame -b 32  --silent "/records/wav/1428056789.3300-2015-04-03-13_26--.wav"  "/records/mp3/1428056789.3300-2015-04-03-13_26--.mp3" && rm -f "/records/wav/1428056789.3300-2015-04-03-13_26--.wav" && chmod o+r "/records/mp3/1428056789.3300-2015-04-03-13_26--.mp3"") in new stack
[Apr  3 13:26:33]     -- Executing [s@open_msk:9] Set("SIP/gw-00000ce4", "(CDR(filename)=1428056789.3300-2015-04-03-13_26--.mp3)") in new stack
[Apr  3 13:26:33] ERROR[30119][C-0000057a]: pbx.c:4390 ast_func_write: Function  not registered
[Apr  3 13:26:33]     -- Executing [s@open_msk:10] Set("SIP/gw-00000ce4", "CDR(realdst)=") in new stack
[Apr  3 13:26:33]     -- Executing [s@open_msk:11] MixMonitor("SIP/gw-00000ce4", "/records/wav/1428056789.3300-2015-04-03-13_26--.wav,b,nice -n 19 /usr/bin/lame -b 32  --silent "/records/wav/1428056789.3300-2015-04-03-13_26--.wav"  "/records/mp3/1428056789.3300-2015-04-03-13_26--.mp3" && rm -f "/records/wav/1428056789.3300-2015-04-03-13_26--.wav" && chmod o+r "/records/mp3/1428056789.3300-2015-04-03-13_26--.mp3"") in new stack
[Apr  3 13:26:33]     -- Executing [s@open_msk:12] Queue("SIP/gw-00000ce4", "msk_call,nt") in new stack
[Apr  3 13:26:33]   == Begin MixMonitor Recording SIP/gw-00000ce4
[Apr  3 13:26:33]     -- Started music on hold, class 'default', on SIP/cgw-00000ce4
[Apr  3 13:26:33]   == Using SIP RTP CoS mark 5
[Apr  3 13:26:33]     -- SIP/phone300-00000ce5 connected line has changed. Saving it until answer for SIP/comlink-gw-00000ce4
[Apr  3 13:26:33]     -- SIP/phone300-00000ce5 is ringing

1. почему то не пишется сам MP3 файл, хотя если убрать set(MP3=/records/mp3) будет писаться в корень... очень странно...

2. сама ошибка, предполагаю, что тут загвоздка в записи в базу... у меня пишет через ODBC... я забыл тут что то добавить?

3. не пойму, почему то папка в каталог с вьювером не линкуется...
# link /records/mp3 records
link: cannot create link `records' to `/records/mp3': Operation not permitted

P.S. по 3-му пункту гугл помог -
 ln -s /records/mp3/ /var/www/asterisk-cdr-viewer/records


Update 2.1.
MP3 записалось только после копипаста с сайта в конфиг, почему то на написанное руками не реагировало...

update 2.2
Не срабатывала запись в таблицу CDR, потому что в конфиге было прописано
exten => s,n,Set((CDR(filename)=${fname}.mp3))
« Последнее редактирование: 03 апреля 2015, 15:30:50 от scrame »

Оффлайн scrame

  • Начинающий
  • *
  • Сообщений: 25
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Saint-Petersburg
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #101 : 03 апреля 2015, 17:24:43 »
зараза не пишет в базу инфу о записи...

Спойлер для скрыто:
exten => s,1(start),Answer()
exten => s,n,Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=2)
exten => s,n,Background(/ast_snd/IVR/03-record)
exten => s,n,Set(WAV=/records/wav)
exten => s,n,Set(MP3=/records/mp3)
exten => s,n,Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)}-${calling}-${called})
exten => s,n,Set(monopt=nice -n 19 /usr/bin/lame -b 32  --silent "${WAV}/${fname}.wav"  "${MP3}/${fname}.mp3" && rm -f "${WAV}/${fname}.wav" && chmod o+r "${MP3}/${fname}.mp3")
exten => s,n,Set(CDR(filename)=${fname}.mp3)
exten => s,n,Set(CDR(realdst)=${called})
exten => s,n,MixMonitor(${WAV}/${fname}.wav,b,${monopt})
exten => s,n,Queue(msk_call,nt)
exten => s,n,HangUp()

имя файла получается к примеру 1428069741.25-2015-04-03-17_02--.mp3, то есть ${calling}-${called} не пишутся, но может ли из-за них не писаться информация в базу???

P.S. личные додумки... а может ли это быть из-за того, что у меня таблица называется не CDR а cdr... ???
« Последнее редактирование: 03 апреля 2015, 17:39:51 от scrame »

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #102 : 03 апреля 2015, 20:04:07 »
имя файла получается к примеру 1428069741.25-2015-04-03-17_02--.mp3, то есть ${calling}-${called} не пишутся, но может ли из-за них не писаться информация в базу???

P.S. личные додумки... а может ли это быть из-за того, что у меня таблица называется не CDR а cdr...
это всего лишь невнимательность
в моей статье говорится о вызове макроса, а у тебя нет макроса, поэтому нужно не ${calling}-${called}
а ${CALLERID(number)},${EXTEN}

update 2.2
Не срабатывала запись в таблицу CDR, потому что в конфиге было прописано
exten => s,n,Set((CDR(filename)=${fname}.mp3))
в ael работает, extensions.conf не пользую

ps
ну да, сделать не так как в статье, а по своему, и при этом еще обвинить автора в "пасхалках" это гуд ;)
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Оффлайн scrame

  • Начинающий
  • *
  • Сообщений: 25
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Saint-Petersburg
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #103 : 03 апреля 2015, 20:48:31 »
по поводу "пасхалок" отписался...
по поводу того, что бы сделать не так, как у автора - ну если делать все так, как делает автор, то никогда не научишься =)))
не суть... идеи есть, почему может не писать в базу?

Оффлайн scrame

  • Начинающий
  • *
  • Сообщений: 25
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Saint-Petersburg
Прослушивание звонков из asterisk-cdr-viewer
« Ответ #104 : 03 апреля 2015, 21:29:59 »
судя по всему - бага Астериска...
https://issues.asterisk.org/jira/browse/ASTERISK-23046
Вот  тут ситуация почти похожая...
решил проверить, заменил (CDR(filename)=
на  (CDR(userfield)=
Пишется... видимо придется обновлять астер выше версии 11.9.0.

Есть у кого-нить опыт по обновлению астериска?  :trollface:


Updated: 03 April 2015, 22:17:28

Не стал морочиться, поменял filename на userfield в function.php... Все заработало.
Вопрос опять же. Никто не пробовал какой-нить хтмл плеер туда засунуть? А то натяльника не может слушать с гейпада...
« Последнее редактирование: 03 апреля 2015, 22:17:28 от scrame »