FreeSWITCH技巧:notify与message-waiting
FreeSWITCH技巧:notify与message-waiting
@(Freeswitch经验点滴)
现象描述
在客户端登陆抓包时,发现了FreeSWITCH发来的包:
NOTIFY sip:9988002@192.168.168.106:63984;transport=udp SIP/2.0
Via: SIP/2.0/UDP 192.168.168.204:11160;rport;branch=z9hG4bKyDmpeXc5757jD
Max-Forwards: 70
From: sip:9988002@192.168.168.204;tag=2r7dkoK0sQmO
To: sip:9988002@192.168.168.204;tag=46645800
Call-ID: 27392434-dc88-1daf-88da-27412056899c
CSeq: 1086796376 NOTIFY
Contact: sip:9988002@192.168.168.204:11160;transport=udp
User-Agent: FreeSWITCH-mod_sofia/1.2.23~64bit
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, path, replaces
Event: message-summary
Allow-Events: talk, hold, conference, presence, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
Subscription-State: active;expires=120
Content-Type: application/simple-message-summary
Content-Length: 70
...(下面为消息体)
Messages-Waiting: no
Message-Account: sip:9988002@192.168.168.204
该消息的目的是在话机登陆的时候,即通知话机目前有几个未读的消息
具体可参阅RFC文档:http://tools.ietf.org/html/rfc3842
问题分析
之所以在客户端一登陆就发送该条消息,可在Athnomy的邮件回复中找到答案:
You must be new to SIP, you will soon learn that almost every SIP device just stupidly expects you to send this and never does it the correct way by subscribing to it which is why this option is the default.
FreeSWITCH设置
将该项功能关闭,配置如下:
文件:conf/sip-profiles/internal.xml
修改项:
<!-- 'true' means every time 'first-only' means on the first register -->
<param name="send-message-query-on-register" value="false"/>
或者,将值修改为first-only,只在客户端登陆时发,其他时间不发。
FreeSWITCH技巧:notify与message-waiting的更多相关文章
- FreeSWITCH技巧:如何向通话的另一方号码发送dtmf?
注:这里的文章都是本人的日常总结,请尊重下个人的劳动成果,转载的童鞋请注明出处,谢谢. 如您转载的文章发生格式错乱等问题而影响阅读,可与本人联系,无偿提供本文的markdown源代码. 联系邮箱:ji ...
- Freeswitch中文用户手册(第四章 SIP)----2
通过 B2BUA 呼叫 在真实世界中,bob 和 alice 肯定要经常改变位置,那么它们的 SIP 地址也会相应改变,并且,如果他们之中有一个或两个处于 NAT 的网络中时,直接通信就更困难了.所以 ...
- 日常使用mobx的小技巧
日常使用mobx的小技巧 由于自己开发的项目都是中小型项目,所以在技术选型上使用了mobx.但是使用过程中发现关于mobx的技术文章并不多.于是萌发出写这篇文章的想法.请轻喷. 更新控制store渲染 ...
- 转载《Android Handler、Message》
之前也是由于周末通宵看TI3比赛,一直没找到时间写博客,导致已经有好久没更新了.惭愧!后面还会恢复进度,尽量保证每周都写吧.这里也是先恭喜一下来自瑞典的Alliance战队夺得了TI3的冠军,希望明年 ...
- java ---线程wait/notify/sleep/yield/join
一.线程的状态 Java中线程中状态可分为五种:New(新建状态),Runnable(就绪状态),Running(运行状态),Blocked(阻塞状态),Dead(死亡状态). New:新建状态,当线 ...
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁.偏向锁) Java 并发编程 ...
- Object的wait/notify/notifyAll&&Thread的sleep/yield/join/holdsLock
一.wait/notify/notifyAll都是Object类的实例方法 1.wait方法:阻塞当前线程等待notify/notifyAll方法的唤醒,或等待超时后自动唤醒. wait等待其实是对象 ...
- 基于vue框架手写一个notify插件,实现通知功能
简单编写一个vue插件,当点击时触发notify插件,dom中出现相应内容并且在相应时间之后清除,我们可以在根组件中设定通知内容和延迟消失时间. 1. 基础知识 我们首先初始化一个vue项目,删除不需 ...
- 【转】Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
一.线程的状态 Java中线程中状态可分为五种:New(新建状态),Runnable(就绪状态),Running(运行状态),Blocked(阻塞状态),Dead(死亡状态). New:新建状态,当线 ...
随机推荐
- Codeforces Round #343 (Div. 2) A. Far Relative’s Birthday Cake 水题
A. Far Relative's Birthday Cake 题目连接: http://www.codeforces.com/contest/629/problem/A Description Do ...
- KVM使用virsh console无法连接的解决办法(转)
一.问题描述: KVM中宿主机通过console无法连接客户机,卡在这里不动. # virsh console vm01 Connected to domain vm01 Escape charact ...
- 第七章Openwrt安装服务器环境php+uhttpd+mysql
在前面的文章中刷openwrt.配置网络环境.挂载u盘都配置成功了之后,下面的操作就变得简单起来!!!! 1. putty连接到路由器 2. 安装php opkg install php5-fastc ...
- nginx bind() to 0.0.0.0:**** failed (13: Permission denied)
nginx 启动失败,日志里面报错信息如下: Starting nginx: nginx: [emerg] bind() to 0.0.0.0:**** failed (13: Permission ...
- 批处理命令中set定义的两种变量介绍 计算机基础知识
摘自: http://www.amhl.net/wenzhang/DianNaoChangShi/20101201/127422.html 所谓的自定义变量,就是由我们来给它赋予值的变量. ①赋值变量 ...
- Python自然语言处理资料库
1.LTP [1]- 语言技术平台(LTP) 提供包括中文分词.词性标注.命名实体识别.依存句法分析.语义角色标注等丰富. 高效.精准的自然语言处理技术.经过哈工大社会计算与信息检索研究中心 11 年 ...
- [置顶] (奇迹冬瓜)坦克大战[MFC框架]
经过二次整合 重新放出MFC框架下的坦克大战 采用小窗口 多线程 双缓冲 动画帧化 碰撞检测 接口封装 混音 事件延迟等 力求做到代码与美工的双向化 开场动画 界面一 界面二 游戏界面 结束动画 零积 ...
- SVN-两种存储方式的比较(BDB vs. FSFS)
Subversion 的版本库(repository),就是位于服务器端,统一管理和储存数据的地方.本文中,我们以 Linux 为例,介绍在服务器端配置和管理 Subversion 版本库的基本方法. ...
- 转: codereview 工具平台建设
一. Rietveld code review (一套工具系统与平台) 1. http://www.cnblogs.com/fang9159/archive/2012/07/20/2591690 ...
- 我的mini_c语言文法设计
//这个文件主要是用来描述当前源语言的词法结构和语法结构 //当前语言是c语言的一个子集,因此里面所有的描述大家都很熟悉 //注意,当前语言并不支持预处理,因为c预处理比较复杂,而且楼主能力低下,因此 ...