failure_route 中的 SIP 回复状态代码和原因为空
SIP reply status code and reason null in failure_route
我正在尝试调试为什么在使用以下 kamailio 配置记录 $rs $rr
的值时得到 null null
。
内部 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");
}
failure_route 内:
failure_route[FAILURE_TO_REGISTRAR] {
xlog("L_INFO","Registrar replied (failure): $rs $rr\n");
这输出:
Registrar replied (failure): <null> <null>
在 failure_route
中,正在处理事务的 SIP 请求(例如,REGISTER
、INVITE
),而不是触发执行 [=28= 的 SIP 响应]failure_route。这在 failure_route here 的核心文档中被标识为:
Note that in 'failure_route' is processed the request that initiated the transaction, not the reply .
如果正在处理的消息是响应,$rs
和 $rr
return 响应代码和原因文本。在这种情况下,正在处理的消息是请求,所以这些变量都是 return null
。
要在 failure_route
中获取响应代码和原因文本,请按照 here
所述使用交易变量 T(reply_code)
和 T(reply_reason)
我正在尝试调试为什么在使用以下 kamailio 配置记录 $rs $rr
的值时得到 null null
。
内部 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");
}
failure_route 内:
failure_route[FAILURE_TO_REGISTRAR] {
xlog("L_INFO","Registrar replied (failure): $rs $rr\n");
这输出:
Registrar replied (failure): <null> <null>
在 failure_route
中,正在处理事务的 SIP 请求(例如,REGISTER
、INVITE
),而不是触发执行 [=28= 的 SIP 响应]failure_route。这在 failure_route here 的核心文档中被标识为:
Note that in 'failure_route' is processed the request that initiated the transaction, not the reply .
如果正在处理的消息是响应,$rs
和 $rr
return 响应代码和原因文本。在这种情况下,正在处理的消息是请求,所以这些变量都是 return null
。
要在 failure_route
中获取响应代码和原因文本,请按照 here
T(reply_code)
和 T(reply_reason)