FreeSWITCH给指定地址发送SIP Message

SIP Message发到注册用户是很容易的,但是要发到指定的地址还是有点难度的。我查了半天mod_sofia的源码终于解决了。不多说了,直接上lua版本的示例代码:

function debug(s)
    freeswitch.consoleLog("ERR", s .. "\n")
end

local domain = "xxx.com.cn"
-- domain = freeswitch.expand("$${domain}") -- 这样似乎更好
local from = "1001"
local to = "1002"
local x_head = "1003" -- 扩展头
local body = "hello fs\r\n"
local sip_ip = "192.168.1.100"
local sip_port = "5060"
local event = freeswitch.Event("CUSTOM", "SMS::SEND_MESSAGE")

event:addHeader("proto", "sip")
event:addHeader("dest_proto", "sip")
event:addHeader("from",  from .. "@" .. domain)
event:addHeader("from_full", "sip:" .. from .. "@" .. domain)
event:addHeader("sip_h_X-head", x_head)
event:addHeader("to",  to .."@" .. domain)
event:addHeader("sip_profile", "internal") -- 改成自己的sip_profile
event:addHeader("profile", "internal")
event:addHeader("type", "text/plain")
event:addHeader("to_sip_ip", sip_ip)
event:addHeader("to_sip_port", sip_port)
event:addBody(body)
debug(event:serialize())
event:fire()

默认用udp发送,如果想用tcp发送,修改sip profile这个参数即可:

<param name="bind-params" value="transport=tcp"/>

另外,记得加载mod_sms。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值