dialpla.xml中会话路由如下示例:
<extension name="local_route">
<condition field="destination_number" expression="^([rd]3.*)$">
<action application="set" data="api_hangup_hook=lua testHook.lua"/>
<action application="lua" data="robot.lua"/>
</condition>
</extension>
Hook的注册是通过set这个app实现,并且定义了hook的lua执行脚本:
<action application="set" data="api_hangup_hook=lua testHook.lua"/>
而testHook.lua的内容,像取一些会话的信息,如通话ID、挂机时间、挂断方、通话时间等,可以在通道变量中获取,如下示例:
my_call_id = env:getHeader("uuid")
my_end_time = env:getHeader("end_uepoch")
my_hangup_party = env:getHeader("sip_hangup_disposition")
my_billusec