exten => s,1,Set(TRANSFER_CONTEXT=transfer)
exten => s,n,Set(CALLERID(name)=${UNIQUEID})
exten => s,n,Set(MONITOR_FILENAME=abon_${STRFTIME(${EPOCH},,%Y_%m_%d_%H-%M-%S)}-${CDR(src)}-${ARG1})
exten => s,n,MixMonitor(/var/spool/asterisk/monitor/${MONITOR_FILENAME}.wav)
exten => s,n,Set(CDR(userfield)=${MONITOR_FILENAME})
exten => s,n,Hangup()
И в названии файла записи разговора появлялось что-то такое - abon_2013_09_03_11-29-25-9053001703-500. Статистика велась в postgresql.
Сейчас же у меня статистика ведется в mysql. А в имени файла исчез номер звонившего, получается вот так - abon_2013_09_03_11-29-25-здесь появляется uniqueid-500. Если убрать строку с установкой callerid, то получится abon_2013_09_03_11-29-25-500-500
Получается что в src пишется не то что надо. Или что? Не понимаю. Объясните, если есть объяснения
exten => s,1,Set(TRANSFER_CONTEXT=transfer)
поставьте
exten => s,n,NoOp(== name == ${CALLERID(name)})
exten => s,n,NoOp(== num == ${CALLERID(num)})
и результат звонка сюда, посмотрим что показывает
-- Executing [s@macro-AO] NoOp("SIP/500-0000019c", "==name==Sunagatova") in new stack
-- Executing [s@macro-AO] NoOp("SIP/500-0000019c", "==num==500") in new stack
-- Executing [s@macro-AO] Set("SIP/500-0000019c", "CALLERID(name)=1378197606.412") in new stack
-- Executing [s@macro-AO] Set("SIP/500-0000019c", "MONITOR_FILENAME=abon_2013_09_03_12-40-08-500-500") in new stack
-- Executing [s@macro-AO] MixMonitor("SIP/500-0000019c", "/var/spool/asterisk/monitor/abon_2013_09_03_12-40-08-500-500.wav") in new stack
Added after 23 seconds:
| Link @ Tue Sep 03, 2013 09:25 писал(а): |
| А если ${CDR(src)} использовать ${CALLERID(num)} |
Уже пробовала, результат тот же
вставьте эти строчки перед трансфером звонка
== CDR updated on SIP/abon-000001ce
-- Executing [500@abonotdel] NoOp("SIP/abon-000001ce", "==num==8463323833") in new stack
-- Executing [500@abonotdel] Set("SIP/abon-000001ce", "NOMER=8463323833") in new stack
-- Executing [500@abonotdel] Dial("SIP/abon-000001ce", "SIP/500,20,tM(AO,500)") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/500
-- SIP/500-000001d0 is ringing
-- SIP/500-000001d0 answered SIP/abon-000001ce
-- Executing [s@macro-AO] NoOp("SIP/500-000001d0", "==num==500") in new stack
-- Executing [s@macro-AO] Set("SIP/500-000001d0", "TRANSFER_CONTEXT=transfer") in new stack
-- Executing [s@macro-AO] Set("SIP/500-000001d0", "CALLERID(name)=1378200716.464") in new stack
-- Executing [s@macro-AO] Set("SIP/500-000001d0", "MONITOR_FILENAME=abon_2013_09_03_13-31-58-500-500") in new stack
-- Executing [s@macro-AO] MixMonitor("SIP/500-000001d0", "/var/spool/asterisk/monitor/abon_2013_09_03_13-31-58-500-500.wav") in new stack
-- Executing [s@macro-AO] Set("SIP/500-000001d0", "CDR(userfield)=abon_2013_09_03_13-31-58-500-500") in new stack
== Begin MixMonitor Recording SIP/500-000001d0
-- Executing [s@macro-AO] Hangup("SIP/500-000001d0", "") in new stack
Added after 1 minutes:
Как заставить работать переменную. Set("SIP/abon-000001ce", "NOMER=8463323833") уже в контексте макроса?
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
| Wapo @ Tue Sep 03, 2013 10:38 писал(а): |
| Попробуйте использовать не NOMER а __NOMER. А еще интересней - дайте в макро команду Dumpchan для анализа переменных которые у вас есть |
__NOMER - ничего не изменилось.
А вот что выдал DumpChan
Dumping Info For Channel: SIP/500-0000020c:
================================================================================
Info:
Name= SIP/500-0000020c
Type= SIP
UniqueID= 1378202341.524
LinkedID= 1378202335.523
CallerIDNum= 500
CallerIDName= Sunagatova
ConnectedLineIDNum= 8463323810
ConnectedLineIDName=(N/A)
DNIDDigits= (N/A)
RDNIS= (N/A)
Parkinglot= default
Language= ru
State= Up (6)
Rings= 0
NativeFormat= 0x8 (alaw)
WriteFormat= 0x8 (alaw)
ReadFormat= 0x8 (alaw)
RawWriteFormat= 0x8 (alaw)
RawReadFormat= 0x8 (alaw)
WriteTranscode= No
ReadTranscode= No
1stFileDescriptor= 113
Framesin= 4
Framesout= 225
TimetoHangup= 0
ElapsedTime= 0h0m5s
DirectBridge=
IndirectBridge=
Context= macro-AO
Extension= s
Priority= 1
CallGroup=
PickupGroup=
Application= DumpChan
Data= (Empty)
Blocking_in= (Not Blocking)
Variables:
MACRO_DEPTH=1
ARG1=500
MACRO_PRIORITY=1
MACRO_CONTEXT=abonotdel
MACRO_EXTEN=500
DIALEDPEERNUMBER=500
SIPCALLID=2a2b548c2bd9c1423a2a9a5c48bf887c@192.168.1.116:5060
Added after 9 minutes:
Спасибо, Wapo. Все получилось. Устанавливаю переменную Set("SIP/abon-00000211", "_NOMER=8463323833").
И переменная появляется в макросе:
Dumping Info For Channel: SIP/500-00000212:
Variables:
MACRO_DEPTH=1
ARG1=500
MACRO_PRIORITY=1
MACRO_CONTEXT=abonotdel
MACRO_EXTEN=500
DIALEDPEERNUMBER=500
SIPCALLID=2fbae7c24a01f3442440e9e2343af780@192.168.1.116:5060
NOMER=8463323833
И делее использую по назначению