0

它是 UAC Kamailio 模块,旨在通过身份验证向提供商中继发送 INVITE,或者相反,它只是发送 REGISTER?

4

1 回答 1

2

UAC 模块可用于验证被下一个节点质询的转发 INVITE。查看 uac 模块的自述文件,了解凭证、auth_* 参数和 uac_auth() 函数。

以下是一些应该有所帮助的配置片段:

modparam("uac","auth_username_avp","$avp(auser)")
modparam("uac","auth_password_avp","$avp(apass)")
modparam("uac","auth_realm_avp","$avp(arealm)")

request_route {
   ...
   if(is_method("INVITE")) {
      t_on_failure("TRUNKAUTH");
   }
   ...
}

failure_route[TRUNKAUTH] {

    if (t_is_canceled()) {
        exit;
    }
    if(t_check_status("401|407")) {
        $avp(auser) = "test";
        $avp(apass) = "test";
        uac_auth();
        t_relay();
        exit;
    }
}

如果您想更新 CSeq(然后需要为调用中的所有请求完成),那么您必须加载对话模块并跟踪 cseq 更新(请参阅对话模块的自述文件)。

于 2015-06-11T08:43:49.997 回答