INVITES 的 UAC 聊天模块
UAC Kamailio module for INVITES
它是 UAC Kamailio 模块,旨在通过身份验证将 INVITE 发送到提供商中继,或者相反,它仅发送 REGISTER?
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 更新(请参阅对话模块的自述文件)。
它是 UAC Kamailio 模块,旨在通过身份验证将 INVITE 发送到提供商中继,或者相反,它仅发送 REGISTER?
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 更新(请参阅对话模块的自述文件)。