比较Kamailio和OpenSIPS的dispatcher模块

Kamailio的dispatcher模块我用的很多,很熟

OpenSIPS有同名模块

二者基本功能相同

但真使起来,差别还是挺大的

#  OpenSIPS

event_route[E_DISPATCHER_STATUS] {
    # log each time a dispatcher destination
    # changes its status
    xlog("Dispatcher destination has new status");
}

OpenSIPS需要在路由里面修改destination的状态,但Kamailio则不用这么麻烦,模块自己就搞定了

以后抽时间仔细测试下OpenSIPS的这个模块,再完善这篇文章

查了查源码,主要逻辑如下:

evi_param_add_int(list, &group_str, &set->id);
evi_param_add_str(list, &address_str, address);
evi_param_add_str(list, &status_str,
                        type ? &inactive_str : &active_str);

req = get_dummy_sip_msg();

status = evi_raise_event_msg(req, id, params); # 发一个dummy sip message
release_dummy_sip_msg(req);

改了下路由块,如下:

event_route[E_DISPATCHER_STATUS] {
    # log each time a dispatcher destination
    # changes its status

    $var(status) = $hdr(status);
    xlog("Dispatcher destination has new status, ru = $rU, tu = $tU, fu = $fU, status = $var(status)\n");
    avp_print();
}

但还是不行, $rU, $tU, $fU等可以正常取到,$hdr(status)为NULL,$hdr(group)没试,估计也不行

avp_print() 也不行,没有打印出有用的内容

看来OpenSIPS跟Kamailio有很大不同,没那么容易掌握

可能要求助Mailing List了

今天查了下文档,貌似在路由参数里面

https://www.opensips.org/Documentation/Script-CoreVar-3-2

$param(1),  $param(2) 等等

OpenSIPS跟Kamailio虽然同源,但细节方面差异巨大

刚才做了测试,路由调整为:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值