external control freeswitch presence

1.insert into Freeswitch内部表sip_presence,代码中有一条select 关联sip_subscribe 表,看好对应结构,插入新的状态数据。

如插入 001009 的信息。


2.通过lua 发送event :PRESENCE_IN,例子如下,就可以triger FS 向订阅0010090的 sipua 发送notify 消息。

local event = freeswitch.Event("PRESENCE_IN");
event:addHeader("proto", "sip");
event:addHeader("dest_proto", "sip");
event:addHeader("from", "0010090@192.168.20.37");
event:addHeader("from_full", "sip:0010090@192.168.20.37");
event:addHeader("to", "1002@192.168.20.37");
event:addHeader("subject", "1002@192.168.20.37");
event:addHeader("type", "presence");
event:addHeader("hint", "the hint");
event:addHeader("status", "Talking");
--freeswitch.consoleLog("info", "\nfrom sms.lua 103:" .. xml.str(res) .. '\n')
--event:addBody(xml.str(res));
event:fire();



ps: 如果状态数据多,考虑到sqlite 不如oracle 高效,要把fs核心数据库 迁移到oracle ,经过尝试可以。要改 某些表字段长度 4096--〉4000, bigint ->number(22) 已经表名字过长等。问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值