通过修改kamailio.cfg来对SIP报文进行修改,比如:增加某个头域

       项目中使用kamailio开源软件做为SIP注册服务器和SIP代理服务器,由于项目中要接PSTN网关和VOLTE网关,由于通过PSTN网关或者VOLTE网关呼入的SIP终端,好多都是不走注册流程的,当kamailio收到来自PSTN网关的呼叫时,通过python劫持到INVITE消息后,首先判断SIP账号是否是已经注册账号,如果不是注册过的账号,再对呼叫来源IP地址进行合法性校验,如果是合法的IP地址,则认为是匿名呼叫进来的用户,这时python脚本会返回一个固定的值,这时在kamailio.cfg里匹配到python返回的这个值,需要在INVITE的头域里增加一个头域,来告诉我们的SIP网关,这是一个合法的匿名入会用户。

       重点讲下如何在kamailio.cfg配置文件中,在指定的route里对SIP原始报文做增加头域或者删除头域,这里以增加指定头域为例:

      python_exec("handler", "Test Message\n");
       if($rc == 1){
            if (is_method("INVITE")) {
                append_hf("Organization: sip_proxy\r\n");
                if(!ds_select_dst("1", "0"))
                {
                    xinfo("redirect failed");
                }
                else
                {
                    xinfo("redirect successfully");
                    sl_send_reply("100","Trying");
                    forward();
                    exit;
                }    
            }    
        }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值