Вызываю очередь так:
exten => ivr1,n,Queue(queue_1,t,,,180,,record)
при установлении соединения, соответственно, вызывается macro-record
[macro-record]
exten => s,1,Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)}-${CALLERID(num):1}-${CDR(dst)})
exten => s,n,NoOp(Callerid_test: ${CALLERID(num)})
exten => s,n,Set(fname1=/var/www/astcdr/records/${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)}-${CALLERID(num):1}-${CDR(dst)})
exten => s,n,Set(CDR(filename)=${fname}.mp3)
exten => s,n,Set(MONITOR_OPT=nice -n 19 /usr/bin/lame -b 32 --silent "${fname1}.wav" "${fname1}.mp3" && rm -f "${fname1}.wav")
exten => s,n,MixMonitor(${fname1}.wav,b,${MONITOR_OPT})
exten => s,n,Set(CDR(userfield)=<a href="records/${fname}.mp3" > Download</a>)
Проблема в том что в CALLERID(num) стоит название IVR, но не номер звонящего. Что делать?
ждем вечера или другого времени когда нет звонков.
смотрим сюда
http://asterisk-support.ru/question/38386/kak-poniat-chto-proiskhodit-na-asteriske/
потом НЕ закрывая консоль звоним на номер, смотрим где меняется callerid. делаем выводы.
Задан: 2015-12-07 14:53:59 +0400
Просмотрен: 556 раз
Обновлен: Dec 07 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Быть не может.
zzuz ( 2015-12-07 15:33:30 +0400 )редактироватьmeral: CallerID меняется в macro. В момент до вызова queue он какой надо, в macro, начиная с первой строчки, он уже равен названию IVR. Выводы, увы, никакие из этого сделать не могу.
varnav ( 2015-12-07 17:17:33 +0400 )редактировать" В момент до вызова queue он какой надо," - я вот в это не верю.
zzuz ( 2015-12-07 17:34:54 +0400 )редактироватьПомогло в макросе заменить CALLERID(num) на CONNECTEDLINE(number)
varnav ( 2015-12-07 17:43:10 +0400 )редактироватьzzuz: зря не верите, так оно и есть
varnav ( 2015-12-07 17:46:00 +0400 )редактировать