讨论 OpenSIPS 预加载路由的问题

# 向 fs 转发注册请求,fs 版本建议 1.10.8 or later

if (is_method("REGISTER")) {
    $du = "sip:192.168.1.100"; # fs
    add_path();
    t_relay();
    exit;
}

# fs 呼叫 user

if (is_method("INVITE")) {
    record_route();
    
    # preloaded route checking
    if (loose_route()) {
        xlog("L_ERR",
            "Attempt to route with preloaded Route's [$fu/$tu/$ru/$ci]");
        if (!is_method("ACK"))
            send_reply(403,"Preload Route denied");
        exit;
    }    
}

但是这段脚本不够好

试试我写的这一段路由脚本:

if (is_present_hf("Route")) {
    # Route: <sip:192.168.1.100;lr>

    $var(route) = $hdr(Route);

    $var(route) = $(var(route){re.subst,/^.*<(sip:.*)>/\1/});  # 正则
    $var(host) = $(var(route){uri.host});
    $var(port) = $(var(route){uri.port});
    if ($var(port) == NULL) $var(port) = 5060;

    if (is_myself("$var(host)", $var(port))) {
        xlog("preloaded route\n");
        remove_hf("Route");
        record_route();
        t_relay();
        exit;
    }
}

参考链接:

https://github.com/OpenSIPS/opensips/issues/1756

测试的OpenSIPS版本为3.2.16

相关推荐

  1. 讨论 OpenSIPS 问题

    2024-04-04 00:38:04       21 阅读
  2. vue

    2024-04-04 00:38:04       19 阅读
  3. 2024-04-04 00:38:04       6 阅读
  4. 关于实现

    2024-04-04 00:38:04       13 阅读
  5. Vue3-38--

    2024-04-04 00:38:04       37 阅读
  6. vue3

    2024-04-04 00:38:04       16 阅读
  7. 同步、异步、延迟区别

    2024-04-04 00:38:04       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-04 00:38:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-04 00:38:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-04 00:38:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-04 00:38:04       20 阅读

热门阅读

  1. 【电路笔记】-逻辑与门

    2024-04-04 00:38:04       20 阅读
  2. cookie/session/token三者区别和优缺点

    2024-04-04 00:38:04       19 阅读
  3. 网络学习笔记 01 计算机硬件基础 - 数据的表示

    2024-04-04 00:38:04       13 阅读