如果接听电话,openSIPS会设置一个onreply路由

问题描述 投票:1回答:1

我想知道是否可以在onreply_route中设置接听/接听电话的条件

这样的事情

onreply_route {
 if(call picked up) {
  xlog("ON AIR");
 }
}
sip voip opensips
1个回答
0
投票

您可以通过多种方式实现这一目标。对于你的情况,我会使用tm模块的t_check_status()函数:

onreply_route {
    if (t_check_status("2[0-9][0-9]")) {
        xlog("ON AIR");
    }
}

但请注意,如果您的SIP代理是无状态的(即,如果您根本不使用tm),这将不起作用!在这种情况下,我们需要以更低级别的方式访问信息,方法是使用$rs变量(SIP回复状态)直接从收到的消息中读取信息:

onreply_route {
    if ($rs == 200) { # or ($rs =~ "2[0-9][0-9]")
        xlog("ON AIR");
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.