Многие поля в mysql являются readonly до завершения транзакции. Это значит, что мы не можем их переписывать по своему усмотрению пока звонок не завершился.
В примере "идеального" звонка видим, что в поле exten записываются разные значения на каждом шаге - events. Какое из них будет полезным для вашего отчёта? Наверное 112233, eventtype=CHAN_START ?
Yessey писал(а):Также попробовал записать извлеченный из SIP_Header номер DID в пользовательское событие:
exten => _.,n,CELGenUserEvent(customdid, exten=${pseudodid})
Также не получилось, может быть неправильно описываю функцию ?
Как минимум - AFAIK, нет такого эвента - customdid, и после запятой туда пойдёт именно текст = exten=${pseudodid}
Может посмотрите примеры в cel_custom.conf.sample?
Не хочу вас запутать, но если бы вы посмотрели прохождение входящего вызова диал-плана
Код: Выделить всё
*CLI> dialplan show ext-did
[ Context 'ext-did' created by 'pbx_config' ]
'foo' => 1. Noop(bar) [pbx_config]
Include => 'ext-did-custom' [pbx_config]
Include => 'ext-did-0001' [pbx_config]
Include => 'ext-did-0002'
можно было увидеть что DID записывается в переменную FROM_DID
Set(__FROM_DID=${EXTEN})
В вашем случае пред-обработка будет
Set(__FROM_DID=${SIP_HEADER(To):1:12})
и это будет уже как минимум правильно отображаться в журнале CDR. Так можно и до CEL доковырять.