如何配置星号即时消息

2024-03-09

星号支持即时消息吗?我尝试为 IM 配置星号(从这个例子 https://groups.google.com/forum/#!msg/csipsimple-users/stBJYGQ88fw/OgLW8CLVvIkJ),但是当我尝试将 IM 发送到另一个 sip 帐户时,星号会返回警告:

WARNING[20128]: chan_sip.c:16379 receive_message: Received message to sip:[email protected] /cdn-cgi/l/email-protection from sip:[email protected] /cdn-cgi/l/email-protection; tag=d9fdcc28313946c5a2a6ae1eae997c62, dropped it... Content-Type:text/plain Message: hahaha 此外,SIP 客户端返回消息“方法不允许”。这是我的sip.conf file:

[general]
context=internal
allowguest=no
allowoverlap=no
bindport=5060
bindaddr=0.0.0.0
srvlookup=no
disallow=all
allow=ulaw
alwaysauthreject=yes
canreinvite=no
nat=yes
session-timers=refuse
localnet=192.168.21.153/255.255.255.0
accept_outofcall_message=yes
outofcall_message_context=internal

[test1]
type=friend
host=dynamic
secret=test1
context=internal

[test2]
type=friend
host=dynamic
secret=test2
context=internal

[test3]
type=friend
host=dynamic
secret=test3
context=internal

这是我的扩展.conf file:

[internal]
exten => test1,1,Answer()
exten => test1,2,Dial(SIP/test1,60)
exten => test1,3,Playback(vm-nobodyavail)
exten => test1,4,VoiceMail(test1@main)
exten => test1,5,Hangup()

exten => test2,1,Answer()
exten => test2,2,Dial(SIP/test2,60)
exten => test2,3,Playback(vm-nobodyavail)
exten => test2,4,VoiceMail(test2@main)
exten => test2,5,Hangup()

exten => test3,1,Answer()
exten => test3,2,Dial(SIP/test3,60)
exten => test3,3,Playback(vm-nobodyavail)
exten => test3,4,VoiceMail(test3@main)
exten => test3,5,Hangup()

exten => 8001,1,VoicemailMain(test1@main)
exten => 8001,2,Hangup()

exten => 8002,1,VoicemailMain(test2@main)
exten => 8002,2,Hangup()

exten => 8003,1,VoicemailMain(test3@main)
exten => 8003,2,Hangup()

exten => _.,1,NoOp(SMS receiving dialplan invoked) 
exten => _.,n,NoOp(To ${MESSAGE(to)}) 
exten => _.,n,NoOp(From ${MESSAGE(from)}) 
exten => _.,n,NoOp(Body ${MESSAGE(body)}) 
exten => _.,n,Set(ACTUALTO=${CUT(MESSAGE(to),@,1)}) 
exten => _.,n,MessageSend(${ACTUALTO},${MESSAGE(from)}) 
exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS}) 
exten => _.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != "SUCCESS"]? 
sendfailedmsg) 
exten => _.,n,Hangup() 
exten => h,1,Hangup() 
; 
; Handle failed messaging 
exten => _.,n(sendfailedmsg),Set(MESSAGE(body)="[${STRFTIME(${EPOCH},, 
%d%m%Y-%H:%M:%S)}] Your message to ${EXTEN} has failed. Retry later.") 
exten => _.,n,Set(ME_1=${CUT(MESSAGE(from),<,2)}) 
exten => _.,n,Set(ACTUALFROM=${CUT(ME_1,@,1)}) 
exten => _.,n,MessageSend(${ACTUALFROM},ServiceCenter) 
exten => _.,n,Hangup() 
exten => h,1,Hangup() 

是的。 Asterisk 支持 IM。请使用Asterisk 11或更高版本。我认为您使用的是旧版本。我在 asterisk-10 中遇到了同样的问题。我将 Asterisk 升级到 Asterisk-11。请参阅下面的 Asterisk IM 详细说明。

在一般部分写下一行sip.conf file.

[general]

accept_outofcall_message=yes 
outofcall_message_context=dialplan_name
auth_message_requests=yes

将以下行写入extensions.conf文件。这是发送 IM 的拨号方案。

[dialplan_name]
exten => _.,1,NoOp(SMS receiving dialplan invoked)
exten => _.,n,NoOp(To ${MESSAGE(to)})
exten => _.,n,NoOp(From ${MESSAGE(from)})
exten => _.,n,NoOp(Body ${MESSAGE(body)})
exten => _.,n,AGI(chatplan.php,${MESSAGE(from)})
;exten => _.,n,Set(ACTUALTO=${CUT(MESSAGE(to),@,1)})
;exten => _.,n,ExecIf($["${ACTUALTO}" != "sip:${EXTEN}"]?Set(ACTUALTO=sip:${EXTEN}))
exten => _.,n,MessageSend(${ACTUALTOS},${MESSAGE(from)})
exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != "SUCCESS"]?sendfailedmsg)
exten => _.,n,Hangup()
;
; Handle failed messaging
exten => _.,n(sendfailedmsg),NoOp(Sending error to user)
exten => _.,n,Set(SRC=${MESSAGE(from)})
exten => _.,n,Set(DST=${MESSAGE(to)})
exten => _.,n,Set(MSG=${MESSAGE(body)}) 
exten => _.,n,Set(MESSAGE(body)="[${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)}] Your message to ${EXTEN} has failed. Sending when available")
exten => _.,n,Set(ME_1=${CUT(MESSAGE(from),<,2)})
exten => _.,n,Set(ACTUALFROM=${CUT(ME_1,@,1)})
exten => _.,n,MessageSend(${ACTUALFROM},ServiceCenter)
exten => _.,n,GotoIf($["${INQUEUE}" != "1"]?startq)
exten => _.,n,Hangup()
;
exten => _.,n(startq),NoOp(Queueing messaging for offline)
exten => _.,n,Set(MSGTIME=${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)})
exten => _.,n,SYSTEM(/var/lib/asterisk/agi-bin/astqueue.sh –SRC ‘${SRC}’ –DST ‘${DST}’ –MSG ‘${MSG}’)
exten => _.,n,Hangup()[app-fakeanswer]
exten => _.,1,NoCDR
exten => _.,n,Set(DESTDEV=${EXTEN})
exten => _.,n,Set(THISDEVSTATE=${DEVICE_STATE(SIP/${DESTDEV})})
exten => _.,n,GotoIf($["${THISDEVSTATE}" = "UNAVAILABLE"]?hang)
exten => _.,n,GotoIf($["${THISDEVSTATE}" = "UNKNOWN"]?hang)
exten => _.,n,Answer
exten => _.,n,Hangup()
exten => _.,n(hang),Hangup()

在您尊敬的文件中添加以上行。使用 Asterisk-11 进行 IM。我在旧的星号版本中遇到了同样的问题。希望您使用 Asterisk-11。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何配置星号即时消息 的相关文章

随机推荐

  • UDP 服务器套接字缓冲区溢出

    我正在 Linux 上编写 C 应用程序 我的应用程序有一个 UDP 服务器 它在某些事件上向客户端发送数据 UDP 服务器还接收来自客户端的一些反馈 确认 为了实现这个应用程序 我使用了一个 UDP 套接字 例如int fdSocket
  • Win Vista/7 下的 WriteFile 错误#5“拒绝访问”

    我有一个 C 控制台应用程序 可以读取 1GB SD 卡 修复不正确关闭的文件并相应地写入 FAT 表 SD 卡一开始是由定制设备中的固件写入的 它在 Xp 之前工作正常 在 Win Vista 7 中停止工作 我尝试提升权限 在管理员帐户
  • Symfony 2 根据用户代理属性加载不同的模板

    是否有可能 以及如何 确定用户是否正在使用移动设备 在这种情况下强制 symfony 2 加载不同的模板 并回退默认的 html 模板 id 喜欢做的是 在不修改任何控制器的情况下加载不同的模板 UPDATE 真正的问题不是检测部分 它实际
  • 我的 iPhone 应用程序使用了多少内存(来自模拟器)

    我知道这与 Instruments 有关 但这有点令人困惑 并且在 Google 上搜索 Instruments 并没有多大帮助 我想知道我的应用程序运行情况如何 例如它使用了多少内存 我只是不知道在哪里可以找到类似的东西 据我们从模拟器中
  • Postgres COPY TO NULL 整数

    我有一个包含各种列的 CSV 其中一列包含整数数据 但是 当运行副本时 COPY soc FROM soc asc WITH DELIMITER 我得到以下信息 ERROR invalid input syntax for integer
  • ANTLR4 将 ParserRuleContext 树展平为数组

    如何压平一个ParserRuleContext将子树放入令牌数组中 这ParserRuleContext getTokens int ttype 看起来不错 但什么是ttype 是token类型吗 如果我想包含所有令牌类型 应使用什么值 P
  • 如何在 C# 中从两个列表创建单个对象对列表?

    我有两个对象列表 列表 A 和列表 B 我需要创建列表 C 将列表 A 和列表 B 组合成对 例如 List A object a1 object a2 object a3 List B object b1 object b2 object
  • 在命令行中在Kafka中创建多个消费者

    我是卡夫卡的新手 当我在命令行中运行快速启动示例时 我发现无法在命令行中创建多个使用者 健康 状况 我构建了一个名为 test 的主题 包含 3 个分区 并且还针对该主题构建了一个生产者 然后我想创建两个不同的消费者 共享关于此主题的名为
  • 格式化输出字符串,右对齐

    我正在处理包含坐标 x y z 的文本文件 1 128 1298039 123388 0 2 每行被分隔为 3 个项目 使用 words line split 处理数据后 我需要将坐标写回到另一个 txt 文件中 以便每列中的项目右对齐 以
  • Vimeo 视频链接正则表达式

    有人得到了 vimeo 视频链接的正则表达式 可以从段落中提取它们以在 php 中使用吗 似乎无法找到适合最新 vimeo url 方案的合适方案 Vimeo 有 4 个不同的公共视频链接 视频IDvimeo com Video ID 渠道
  • GRPC - .IllegalArgumentException:Jetty ALPN/NPN 尚未正确配置

    我正在尝试在 pod 上的 docker 容器中启用 TLS 来启动 GRPC 服务器 但在服务器启动期间出现以下错误 我正在尝试参考https github com grpc grpc java blob master SECURITY
  • numpy沿任意轴广播加法

    我想通过简单地沿一个或多个轴执行相同的加法来添加两个不同维度的数组 非矢量化解决方案 x np array 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 shape 4 3 2 y np a
  • 为什么 http 服务返回 observables 而不是 Promise

    我对导致角度 2 的推理或讨论感到好奇http服务返回可观察的结果而不是响应的承诺 我会理解 Web 套接字连接或长轮询请求之类的逻辑 但是http服务只是创建一个XMLHttpRequest 并且在load请求的事件处理程序 在响应可观察
  • 在 PL/SQL 中创建或模拟二维数组

    您能帮助我如何在 PL SQL 中为存储过程创建二维数组吗 这些列是动态的 因此它的类型也可以增长和变化 任何帮助表示赞赏 先感谢您 我有以下代码 Type CAR TABLE ARRAY is varray 2 of varchar2 2
  • 更改 UITabBarItem 图像

    我已经使用 Storyboard 来设置我的UITabBarController及其对应的ViewControllers 每当取消选择选项卡时 它都是灰色的 选择它时 它会呈现绿色 我想要其中之一UITabBarItems始终看起来相同 即
  • Font-Face 使用绝对路径

    是否可以使用绝对路径 fontace 我有以下目录结构 HP font Monoton woff Monoton eot css font css fontface css html index html 定义字体 font face fo
  • 在 C++11 中使用零或 NULL 哪个更好?

    如今 有了C 11 推荐使用什么 Zero or NULL 第一个还是第二个如果 int p getPointer if 0 p something if NULL p something UPDATE 我忘记新的了 if nullptr
  • Entity Framework Core - 版本 5+ 与输出数据库无关

    我有一个使用 EF Core 的应用程序 最初是使用 V3 1 1 编写的 我们决定冒险更新到 v5 0 1 现在它已经不再预览了 该应用程序支持 MSSQL 和 SQLite 最初运行得很好 迁移的创建基本上与工具和文档无关here ht
  • 您的启动项目“项目”未引用 Microsoft.EntityFrameworkCore.Design

    我正在使用 EntityFrameworkCore 版本 2 2 2 构建 WPF 应用程序 然而 当我想要Add Migration它向我输出一个错误 Your startup project project doesn t refere
  • 如何配置星号即时消息

    星号支持即时消息吗 我尝试为 IM 配置星号 从这个例子 https groups google com forum msg csipsimple users stBJYGQ88fw OgLW8CLVvIkJ 但是当我尝试将 IM 发送到另