快讯:使用python发送sip协议的OPTIONS
(资料图)
一、背景描述
sip协议提供了OPTIONS请求方法,可实现如下功能:1)查询对端能力;2)检测对端状态(类似ping的功能);3)NAT会话保活;4)探测网元数量;其中,检测对端状态用的比较多,主要用于探测对端服务是否正常。sip OPTIONS的定义及描述,可参考rfc 3261:https://www.rfc-editor.org/rfc/rfc3261.html二、运行效果
这里演示下使用python发送sip协议的OPTIONS的运行效果,使用FreeSWITCH对接,分为正常探测和异常处理。1、正常探测
可以在控制台开启sip日志来观察:sofia global siptrace on2、异常情况
在控制台关闭freeswitch后,查看脚本运行状态,脚本使用了异常处理,可以处理timeout异常。运行效果演示视频获取途径:关注微信公众号(聊聊博文,文末可扫码)后回复 2023062401 获取。三、具体实现
这里列举下关键点,并提供示例代码。1、python实现的关键点
1)协议模板根据rfc定义的OPTIONS格式,生成python中使用的消息模板:OPTIONS sip:{dstSipHost}:{dstSipPort} SIP/2.0Via: SIP/2.0/UDP {srcSipHost}:{srcSipPort};rport;branch={branchId}Max-Forwards: 70From: ;tag={tagId}To: Call-ID: {callId}CSeq: {cseqNum} OPTIONSUser-Agent: myCheckerContent-Length: 0 2)sequence号需要注意返回消息的CSeq值是否和发送的一致。3)探测周期太快和太慢都不好,具体数值根据应用的实际情况调整。4)socket需要设置超时可通过 settimeout 函数进行设置,具体参考python的socket文档。2、示例代码
完整示例代码获取途径:
关注微信公众号(聊聊博文,文末可扫码)后回复 20230624 获取。
四、资源下载
本文涉及源码和文件,可以从如下途径获取:关注微信公众号(聊聊博文,文末可扫码)后回复 20230624 获取。关键词:
上一篇:环球热点评!两名大学生被潮水围困在笔架山岛东侧礁石上
下一篇:最后一页
广告
X 关闭
X 关闭
-
-
京张高铁每日开行17对冬奥列车
京张高铁每日开行17对冬奥列车 预计冬奥服务保障期运送运动员、技术官员、持票观众等20万人次 2月6日,2022北京新闻中心举行“北
-
-
北京冬奥会开幕式上 小学生朱德恩深情演绎《我和我的祖国》
北京冬奥会开幕式上 小学生朱德恩深情演绎《我和我的祖国》 9岁小号手苦练悬臂吹响颂歌 2月4日晚,在北京冬奥会开幕式上,9岁的
-
-
2022北京冬奥会开幕式这19首乐曲串烧不简单
多名指挥家列曲目单 再由作曲家重新编曲 本报专访冬奥开幕式音乐总监赵麟 开幕式这19首乐曲串烧不简单 “二十四节气”倒计时、
-
-
“一墩难求” 冰墩墩引爆购买潮
设计师:没想到冰墩墩成爆款一墩难求冰墩墩引爆购买潮 北京冬奥组委:会源源不断供货北京冬奥会吉祥物冰墩墩近日引爆购买潮,导致一墩难求
