有了 CDR,很容易添加自定义字段。
[exit]
exten = s,1,NoOp()
same => n,Set(CDR(my_custom_field)=${SOME_VARIABLE})
same => n,Dial(PJSIP/phone1&DAHDI/17,30,tTkK)
same => n,Hangup()
我所要做的就是将
my_custom_field
作为一列添加到 cdr
表中,它将被填充。
我想用 CEL 复制它,但是改变表格并设置
CHANNEL(my_custom_field)
项目不起作用,该列始终是 NULL
。我可以用这个:
same => n,Set(CHANNEL(userfield)=${SOME_VARIABLE})
但我想使用自定义字段名称。
是的,您可以添加自定义 CEL 事件。但是你不能添加列。您可以添加事件(新行)
CELGenUserEvent(event-name,[extra])
Extra可以是你想要的任何文字。
https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_CELGenUserEvent
之后,您可以解析 CEL 表并更新您想要更新的任何字段。