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

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.xdnf.cn/news/3371.html

相关文章:

  • 深挖Java基础之:变量与类型
  • 总结C++中的STL
  • 分布式事务,事务失效,TC事务协调者
  • 图数据库榜单网站
  • 算法每日一题 | 入门-顺序结构-字母转换
  • X²+1素数问题
  • DirectX12(D3D12)基础教程七 深度模板视图\剔除\谓词
  • 【数据结构与算法】跳表实现详解
  • Windows结合WSL之ext4.vhdx不断增大问题
  • 第九节:文件操作
  • C++漫游指南——字符串篇与内存分配篇
  • ganesha-DBUS
  • 人形机器人的 “灵动密码”:动作捕捉与 AI 如何为其注入活力
  • BOSS的收入 - 华为OD机试(A卷,Java题解)
  • React-Native Android 多行被截断
  • Ubuntu 22.04 的 ROS 2 和 Carla 设置指南(其一)
  • Multicore-TSNE
  • 如何用GPU Instancing来优化树木草石重复模型
  • Kubernetes 配置中的 Selector 详解
  • GPU集群搭建步骤
  • 基础术语说明
  • 前端项目问题:TypeError: Failed to fetch dynamically imported module
  • 数据结构---【二叉搜索树】
  • Canvas基础篇:图形绘制
  • 工业质检领域相关近期顶会论文汇总CVPR2025
  • SALOME源码分析: SMESH模块
  • 2025-04-30 AIGC-如何做短片视频
  • 科学数据可视化工具库visIt安装和使用
  • 阿里云短信接入实现示例
  • IsaacLab最新2025教程(7)-创建Interactive Scene