![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SIP
文章平均质量分 57
kslidong
神仙朝游北海暮苍梧
展开
-
FreeSWITCH动态更改网关中的sip_from_user
笔者在FreeSWITCH中有一个网关配置:<include> <gateway name="pstn"> <param name="realm" value="10.18.2.18"/> <param name="register" value="false"/> <param name="username" value="022xxxxxxxx"/> </gateway></inc原创 2021-11-02 20:16:23 · 977 阅读 · 0 评论 -
OpenSIPS新模块开发中数据库连接初始化的注意点
前几天我在OpenSIPS中使用了usrloc模块,然后发现有时候日志会突然频繁打印:timer_ticker: timer task <ul-timer> already scheduled在此期间,服务无法响应SIP请求。排查过程如下:1. 使用usrloc后出现的问题,并且日志也指明了方向:ul-timer查看代码,ul-timer这个定时任务负责定期清理过期的contacts,涉及内存操作和数据库操作。第一反应,数据库操作耗时太久,导致执行定时任务的进程被卡死了。原创 2021-09-26 11:16:25 · 379 阅读 · 0 评论 -
OpenSIPS处理200OK的ACK和RE-INVITE的时序问题
问题描述:FreeSWITCH发起外呼(通过OpenSIPS forward到运营商),在receive_message收到SWITCH_MESSAGE_INDICATE_BRIDGE时,再发起RE-INVITE,这时其实还没有收到运营商返回的200OK。FS会保证在收到200OK后,将ACK和RE-INVITE依次发送出去。到这里没有问题,OpenSIPS先收到ACK再收到RE-INVITE,但是OpenSIPS在处理ACK和RE-INVITE时,很有可能会先将RE-INVITE发送出去,这时运营原创 2021-06-29 14:57:51 · 2100 阅读 · 0 评论 -
OpenSIPS修复SDP中内网IP(NAT穿越问题)
在我们的场景下,多台FreeSWTICH依靠OpenSIPS作信令的负载均衡。OpenSIPS对外开放SIP端口,FreeSWITCH对外开放RTP端口。这种网络拓扑结构下,FS发送的INVITE以及回复的200OK中,SDP携带的是内网IP,如下图:我们可以借助OpenSIPS的fix_nated_sdp函数将其中的内网IP翻译为公网IP,该函数使用文档:https://opensips.org/docs/modules/3.1.x/nathelper.html#func_fix_na原创 2021-06-26 13:09:32 · 1622 阅读 · 0 评论 -
Learn OpenSIPS And FreeSWITCH
OpenSIPS Cluster在腾讯云部署的坑(从尝试到放弃)原创 2021-06-26 12:01:51 · 349 阅读 · 0 评论 -
OpenSIPS Cluster + CLB在腾讯云部署的坑(从尝试到放弃)
想采用Cluster+CLB模式部署OpenSIPS,并不是担心单台OpenSIPS的处理能力。实际上因为媒体流直接建立在OpenSIPS后面的FreeSWITCH上,OpenSIPS仅做信令的load balance,在会议场景下并无压力。采用Cluster+CLB模式部署是为了OpenSIPS的高可用。为什么不用keepalived呢?第一,云厂商都禁止了arp广播,只能用keepalived单播模式,也就是一对一的主备(这点其实不是问题,一般也都是一对一主备);第二,腾讯云的HAVIP据说不对新用原创 2021-06-25 16:06:03 · 1395 阅读 · 1 评论