kamailio - 修改传入 INVITE 的 URI

问题描述

是否可以将所有来电重定向到一个特定的 sip 帐户?我已经用 Asterisk 添加了一行

exten => _[1-9]XXX,1,DIAL(SIP/3000)

到extendions.conf,现在我正在寻找如何在Kamailio中执行相同操作的方法。但是我在 Kamailio 没有经验,我不确定如何实现这个目标。我应该修改 kamailio.cfg 中的路由逻辑部分,还是应该使用一些模块,如 dialplan.so、uac.so 或类似的模块?

我使用的是 Kamailio 5.4.4 和 MariaDB 10.3。

我将不胜感激

谢谢

更新 1:我尝试使用模块 uac.so 和函数 uac_replace_to

在全局参数部分,我使用 modparam ("rr","append_fromtag",1)loadmodule "uac.so" 加载模块。 在路由逻辑中,我修改了

if (is_method("INVITE")) {
 setflag(FLT_ACC);
}

if (is_method("INVITE")) {
 uac_replace_to("","sip:3000@192.168.20.199");
 setflag(FLT_ACC);
}

但它不起作用。

解决方法

当然有可能

查看示例 kamailio 文件

https://github.com/kamailio/kamailio/blob/master/etc/kamailio.cfg

在 938 线附近的 PSTN 路线

如果需要转发到kamailio注册的账号,请看路由LOCATION

不幸的是,kamailio 不是星号,您也需要处理所有其他 sip 消息。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...