Страница 1 из 1

originate mixmonitor

Добавлено: 26 июл 2016, 13:03
wolfvsv
Asterisk 13
Возникла следующая проблема - по AMI посылаю следующую команду

Код: Выделить всё

Action: Originate
Channel: SIP/m79311234567/79211234567
Exten: 79051234567
Context: out_psk_t
Priority: 15891
Callerid: SIP/m79311234567/79211234567
ActionID: fromMF57972e5c0dbe2
Variable: num=12345|EXTEN=1234|UNIQUEID=fromMF|fname2=test
Async: yes
В extensions.conf следующее

Код: Выделить всё

exten => _7XXXXXXXXXX,15891,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(num)}-${EXTEN}-${UNIQUEID}
exten => _7XXXXXXXXXX,15892,MixMonitor(/home/share/monitor/${fname}.wav)
exten => _7XXXXXXXXXX,15894,Dial(SIP/m79311234567/${EXTEN})
exten => _7XXXXXXXXXX,15895,Hangup()
Звонок проходит отлично, но файл записывается в виде
201607261252-.wav
вместо
201607261253-1234-78121234567-spb_ast-1469526816.10200.wav
В variable писал все что угодно, не помогает. Куда можно копать?

Re: originate mixmonitor

Добавлено: 26 июл 2016, 13:47
ded
А что за последовательность выполнения диалплана у вас - 15891, 15892... ? Не многовато ли? Исходя из чего ставите Priority: 15891?

Если поставите вторым шагом, например, выполнение
NoOp(Caller ID = ${CALLERID(all} and exten = ${EXTEN} and UniqueID = ${UNIQUEID})
то увидите какие значения принимают эти перепменные в момент вызова.

Re: originate mixmonitor

Добавлено: 26 июл 2016, 14:10
wolfvsv
Executing [79051234567@out_psk_t:15893] NoOp("SIP/m79311234567-00001b01", "Caller ID = "SIP/m79311234567/79211234567" <> and exten = 79051234567 and UniqueID = spb_ast-1469531138.10278") in new stack
А файл все равно 201607261405-.wav
originate пишет первый звонок(звонок менеджеру на мобильный), или второй звонок(после поднятия трубки менеджером)?

Re: originate mixmonitor

Добавлено: 26 июл 2016, 14:38
wolfvsv
Проблема решилась забавно, там в set оказалась скобка незакрытая. Поставил в конец ) и все переменные чудесным образом задались. :lol: :lol: :lol:

Re: originate mixmonitor

Добавлено: 26 июл 2016, 14:52
ded
wolfvsv писал(а):"Caller ID = "SIP/m79311234567/79211234567" <>
Разве не видно? У вас нет ничего в CID(num) - <>
а вместо CID(name) - "SIP/m79311234567/79211234567" то есть лажа полная. Именно поэтому
wolfvsv писал(а):файл все равно 201607261405-.wav
там в set оказалась скобка незакрытая - это забавно? Это, уважаемый, разгильдяйство и слеподырство, не стоили и тему поднимать.

Re: originate mixmonitor

Добавлено: 26 июл 2016, 15:04
wolfvsv
Ну на мой взгляд оно или падать должно при некорректном синтаксисе, или ругаться. А когда оно частично выполняется - это нестандартное поведение.
PS: Не подскажете как корректно num задать? Через Variables или еще как-то можно?

Re: originate mixmonitor

Добавлено: 26 июл 2016, 15:17
wolfvsv
ded писал(а):А что за последовательность выполнения диалплана у вас - 15891, 15892... ? Не многовато ли? Исходя из чего ставите Priority: 15891?
Нужно было задать дозвон до второго участника originate через нужный транк, через priority оказалось удобнее.

Re: originate mixmonitor

Добавлено: 26 июл 2016, 15:22
ded
wolfvsv писал(а):Ну на мой взгляд оно или падать должно при некорректном синтаксисе, или ругаться.
Напишите об этом разработчикам, ладно? А тут то чего писать?
wolfvsv писал(а):Не подскажете как корректно num задать?
как угодно. При originate и построении второго плеча у вас же указывается Variable: num=12345? Что-то там присутствует? NoOp?