当前位置: 首页 > news >正文

FreeSWITCH 发送 sip message 的 lua 程序

-- chat.lualocal from = argv[1]
local to = argv[2]
local body = argv[3]
local profile = "internal" -- 改成自己的 sip_profileif not body thenstream:write("-ERR miss ie")return
endlocal api = freeswitch.API()
local domain = api:executeString("global_getvar domain")
local contact = api:executeString("sofia_contact " .. to)
if contact == "error/user_not_registered" thenstream:write("-ERR user not egistered")return
endlocal to_url = contact:gsub(".+sip:(.+)", "sip:%1")
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("to",  to_url)
event:addHeader("sip_profile", profile)
event:addHeader("type", "text/plain")
event:addBody(body)
-- event:addHeader("contact-uri", contact)
freeswitch.consoleLog("DEBUG", event:serialize())
event:fire()
stream:write("+OK")

51 假期闲着也是闲着,写了一个 chat.lua

上面的 lua 代码写的很清楚了,不再注释

下面是一个使用例子

fs_cli -x 'lua chat.lua 1001 1002  "hello,fs"'

后期的改进有2点:

1. body 用 base64 编码,或者 url 编码,否则不容易传多行

2. 如果 body 内容比较长,建议终端用 tcp 注册上来

此外,记得加载 mod_sms,不然,不好使

http://www.dtcms.com/a/167657.html

相关文章:

  • 【C语言常用字符串解析】
  • 解锁 C++26 的未来:从语言标准演进到实战突破
  • 负载均衡深度实践:基于Nginx+Keepalived的高可用方案与Zabbix监控设计
  • archlinux wine 运行windows程序
  • Python学习笔记(第三部分)
  • 人工智能对未来工作的影响
  • 三生原理的离散生成逻辑如何与复分析结合?
  • Python字典(dict)详解:从创建到操作全掌握
  • 产品设计三板斧与抓住事物本质的关键意义
  • 前端面试每日三题 - Day 21
  • 三元运算符与扩展运算符
  • 正则表达式:精准匹配,高效处理文本
  • (C题|社交媒体平台用户分析问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合
  • jupyterlab建议安装的两个插件
  • 《软件设计师》复习笔记(11.1)——生命周期、CMM、开发模型
  • react学习笔记3——基于React脚手架
  • 数字智慧方案6166丨智慧医养结合大数据平台方案(50页PPT)(文末有下载方式)
  • yum源配置文件CentOS-Base.repo完整内容
  • Python数据分析课程实验-1
  • pycharm安装的插件怎么显示在右侧
  • 深入解析三大查找算法:线性查找、二分查找与哈希查找的原理与应用
  • windows安装conda
  • 数值求解Eikonal方程的方法及开源实现
  • GitHub 趋势日报 (2025年04月30日)
  • 2025年一加7pro刷twpr / magisk / kali nethunter教程+资源下载+避坑指南
  • Linux安装部署Postgresql数据库
  • LiteOS与SLE透传实战案例
  • 【基础算法】插值查找算法 - JAVA
  • Java 算法入门:从基础概念到实战示例
  • MySQL数据同步之Canal讲解