SIP回复状态代码和原因为failure_route中的null

Ham*_*amy 2 sip kamailio

我正在尝试调试为什么null null在记录$rs $rr使用以下kamailio配置的值时得到的原因。

内部request_route:

if (is_method("REGISTER")) {
    t_on_reply("REGISTER_FROM_USER");
    # In case of a failure, do a failover:
    t_on_failure("FAILURE_TO_REGISTRAR");
}
Run Code Online (Sandbox Code Playgroud)

在failure_route内部:

failure_route[FAILURE_TO_REGISTRAR] {
  xlog("L_INFO","Registrar replied (failure): $rs $rr\n");
Run Code Online (Sandbox Code Playgroud)

输出:

Registrar replied (failure): <null> <null>
Run Code Online (Sandbox Code Playgroud)

小智 5

failure_route(例如,SIP请求REGISTERINVITE该事务的)是下处理,不触发的执行SIP响应failure_route。这是在failure_route核心文档中确定这里是这样:

请注意,在“ failure_route”中,处理启动事务的请求,而不是回复。

如果正在处理该消息是一个响应,$rs$rr返回响应代码和原因文本。在这种情况下,正在处理的消息就是请求,因此这些变量都返回null

为了获得在响应代码和原因文本failure_route,使用交易变量T(reply_code)T(reply_reason)描述在这里