- 在centos9上编译opensip各个模块遇到的问题【centos9编译opensips终结篇】
狂爱代码的码农
VOIP那些事opensips
mmgeoip需要安装libmaxminddb编译安装https://github.com/maxmind/libmaxminddb.gitgitsubmoduleupdate--init--recursivednfinstallpandocmkdirbuildcdbuildcmake..makemakeinstallhttpd模块错误解决方案dnfinstalllibmicrohttpd-dev
- 解决opensips启动时出现PID file /var/run/opensips.pid does not exist 的错误
Mindfulness code
视频云opensips
启动opensips时报下列错误[root@OpenSIPSopensips]#opensipsctlstartINFO:StartingOpenSIPS:ERROR:PIDfile/var/run/opensips.piddoesnotexist--OpenSIPSstartfailed查看日志文件[root@OpenSIPSopensips]#tail-f/var/log/messagesMa
- 关于OpenSIPS3.4的tls_mgm配置
无名387
OpenSIPSOpenSIPStls
建议配置好tabletls_mgm,而不是把证书写到模块参数里面,好处是证书更新之后运行mitls_reload即可下面是一个插表的例子:INSERTINTOtls_mgm(id,DOMAIN,match_ip_address,match_sip_domain,TYPE,METHOD,verify_cert,require_cert,certificate,private_key,crl_chec
- 比较Kamailio和OpenSIPS的重写contact函数
无名387
OpenSIPSKamailioNAT
Kamailio:调用set_contact_alias()之后,在原有的contact的后面增加参数,具体地说,就是网络地址,网络端口和transport,好处是收到后续请求之时可以恢复原有contact的内容(当然也有坏处,就是增加参数之后导致包大,可能超过MTU)OpenSIPS:调用fix_nated_contact()之后,用网络地址和网络端口直接覆盖了在原有的contact,那么当收到
- 测试OpenSIPS3.4.3的lua模块
无名387
OpenSIPSOpenSIPSlua
这几天测试OpenSIPS3.4.3的lua模块,记录如下:有bug,但能用但现实世界就是这样,总是不完美的,发现之后马上提了issue下面这段代码运行报错:functionfunc1(msg)xlog("ERR","Hello,OpenSIPS\n")--把ERR改成EEE就没问题endsipstate.c的127行明显有问题(读者自己去查阅源码,这里不贴了)功能比Kamailio的KEMI少,
- opensips federation-cachedb-cluster(联合位置集群数据)
Kamilio_OPS
mongodb数据库nosql
opensipsFederatedUserLocationCluster(联合位置集群)实现目标:用户随机注册到不同opensips实例上,并且usrloc数据是共享的,lookup("location","g")可被全局查询到,lookup("location")可查询到本地opensips实例的注册数据环境:两个opensips实例(版本:3.2.3)一个MySQL实例一个mongodb实例(
- OpenSIPS3.4组合topology_hiding模块和mid_registrar模块的路由脚本
无名387
OpenSIPSOpenSIPS拓扑隐藏
OpenSIPS3.4.3启用topology_hiding模块的主要考虑是,某些sip协议栈对record-route支持的不好启用mid_registrar模块,向FreeSWITCH注册,修改contact为OpenSIPS的地址,但不修改过期时间。不用path模块的主要考虑是,某些sipserver对path支持的不好测试环境:OpenSIPSip地址:172.20.10.6FreeSWI
- OpenSIPS的db_cachedb模块
无名387
OpenSIPSOpenSIPS
查了下模块资料,要先安装mongodb,但本人不熟悉mongodb,于是暂时不测试db_cachedb模块google查了下,找到了2个链接:https://users.opensips.narkive.com/UQYIQ8Zq/opensips-connecting-to-mongodb-replica-set-from-opensipshttps://github.com/OpenSIPS/o
- OpenSIPS3.2保存和恢复sdp
无名387
OpenSIPSOpenSIPS修复sdp
UACOpenSIPSUAS--->invitewithsdp-->--->invitewithsdp<---183withsdp<---183withsdp<---200withoutsdp<---200withoutsdp这是最近碰到的一个case,需要在路由里面做如下处理:收到183reply的时候保存sdp收到200reply的时候恢复sdp主要的路由代码如下:loadmodule"sip
- OpenSIPS3.4 cachedb_sql模块测试
无名387
OpenSIPSOpenSIPScache
先上路由脚本:#debug_mode=yeslog_level=3xlog_level=3stderror_enabled=nosyslog_enabled=yessyslog_facility=LOG_LOCAL0udp_workers=4socket=udp:127.0.0.1:5060#CUSTOMIZEMEsocket=tcp:127.0.0.1:5060#CUSTOMIZEME#setm
- opensip常用命令备忘
Westring
查看用户信息可以在mysql中,opensipdatabase的subscriber表。opensip配置文件所在目录:/usr/local/etc/opensips/opensips.cfg(注意必须用管理员权限查看)opensip的ip端口设置,对于外网租用的服务器注意要填写示例列表中的内网ip,5060。另外要在出入规则中把udp和5060端口设置好。opensip添加删除账户:opensi
- 比较Kamailio和OpenSIPS的dispatcher模块
无名387
KamailioOpenSIPSdispatcher
Kamailio的dispatcher模块我用的很多,很熟OpenSIPS有同名模块二者基本功能相同但真使起来,差别还是挺大的#OpenSIPSevent_route[E_DISPATCHER_STATUS]{#logeachtimeadispatcherdestination#changesitsstatusxlog("Dispatcherdestinationhasnewstatus");}O
- centos或ubuntu部署OpenSips
Blueeyedboy521
音视频C组件库centosubuntulinux
目录参考关于via和Record-Route的理论关于rport机制概述安装依赖centosubuntu下载选择安装模块(db_mysql)数据库版本5.7配置安装目录保存配置项安装配置日志配置数据库配置文件opensips.cfg生成特定配置文件备份旧文件,修改新文件修改数据库配置创建用户启动查询在线用户负载均衡常见错误ERROR:databaseenginenotspecified,pleas
- 快速安装方式安装开源OpenSIPS和CP控制界面
lonnng2004
opensipsmysqlopensipsCP
OpenSIPS是目前世界上主流的两个SIP软交换引擎(其中另外一个是kamailio)或者SIP信令服务器(个人认为是比较正确的称谓)。关于Opensips的基础和一些参数配置和安装方式笔者在很久以前的历史文档中有非常多的介绍。最近,很多用户使用OpenSIPS软交换平台做freeSBC或者其他的功能业务的实现,这些客户遇到很多的疑问和安装中也遇到很多问题,所以,为了让客户能够快速安装opens
- OpenSIPS3.2.15 userblacklist模块测试
无名387
OpenSIPS模块测试
loadmodule"userblacklist.so"modparam("userblacklist","use_domain",0)#不比较域名modparam("userblacklist","db_url","mysql://opensips:opensipsrw@localhost/opensips")route[check_user_black]{if(is_method("INVIT
- OpenSIPS自定义统计项目
无名387
OpenSIPSOPS自定义统计项目
有朋友问,怎么统计ops每日的呼叫量这就是需要自定义统计项目我第一感觉是dialog模块后来又查了下资料,statistics模块更合适,Kamailio也有同名模块
- 测试OpenSIPS3.2的uac_registrant模块
无名387
OpenSIPSOpenSIPSuac_registrant
试了试OpenSIPS3.2的uac_registrant模块,目标就是opensips向Kamailio注册,记录如下:kamailioip:192.168.31.63opensipsip:192.168.31.171向kamailiosubscriber表插入数据,username='1001',password='1234',启动kamailio向opensipsregistrant表插入数
- Kamailio uac_replace和uac_restore
无名387
Kamailiouac_replaceuac_restore
uac模块包含的内容很多,本文仅讨论uac_replace和uac_restore先比较二段路由代码:#路由1$fU="alice";$tU="bob";$du=...;t_relay();exit;#OpenSIPS3.2似乎不允许这样修改主被叫,不清楚是出于什么样的考虑#路由2uac_replace_from('"alice"',"sip:"+"alice"+"@"+$fd);uac_repl
- Freeswitch 高级主题之用kamailio负载均衡
voipmaker
KamailioFreeSwitch
kamailio的前身叫openser,和opensips是兄弟,作为出色的sipproxy,在大并发量使用时经常用于负载均衡媒体服务器Asterisk、Freeswitch等实现集群。1.安装kamailio参考上一篇文章安装:Centos6.4上源码安装kamailio4.12.配置kamailio下面为配置好的主配置文件,dispacher模块有一些参数需要注意,默认下一跳地址的配置支持数据
- kamailio dispatch负载均衡
flora_yao_bj
sipsip
kamailio的前身叫openser,和opensips是兄弟,作为出色的sipproxy,在大并发量使用时经常用于负载均衡媒体服务器Asterisk、Freeswitch等实现集群。1.安装kamailio参考上一篇文章安装:http://www.aiuxian.com/article/p-1454911.html2.配置kamailio下面为配置好的主配置文件,dispacher模块有一些参
- Opensips安装配置(以下操作均已centOS 6.3系统为准)
holybomb
centoslinux运维
1.安装依赖软件:a)Yumupdate//更新系统到最新b)安装以下所需依赖软件gccbisonflexmakeopenssllibmysqlclient-devmysql-serverc)安装radiusclient:1.wgethttp://pkgs.repoforge.org/radiusclient-ng/radiusclient-ng-0.5.6-5.el6.rf.x86_64.rpm
- opensips 安装 参考视频步骤如下
王高强_强哥
1、apt-getupdateapt-getinstallgitapt-getinstallvimapt-getinstallflexbisonlibncurses5-devapt-getinstalllibncurses-devapt-getinstalllibncurses5-devapt-getinstallbisonapt-getinstallyaccapt-getinstallm42、c
- 【opensips】ERROR:core:fm_malloc: not enough free shm memory
安安爸Chris
问题现象opensips出现启动异常:启动异常截图ERROR:core:fm_malloc:notenoughfreeshmmemory(560bytesleft,need720),pleaseincreasethe"-m"commandlineparameter!opensips的内存还有8G,为什么会报这种异常呢?原因分析opensips是一个多进程应用,它自身fork了很多进程出来。所以在内
- opensips-cli安装
sip代理
背景opensips版本在3.x的文章一方面比较少,另一方面相关的介绍部分过时。最近在研究opensips,所以一并把相关的文章详细列出来,敬请期待,linux版本是centos7.91.opensips-cli安装准备1.1python3.9.18安装opensips-cli源码安装地址:https://github.com/OpenSIPS/opensips-cli/blob/master/d
- kamailio 做sip代理服务应用
sip代理
背景最近在研究sip代理服务,国内大部分推荐使用opensips,第一时间安装opensips来学习,实际在使用中发现opensips3.x的坑很多,很多功能在2.x版本上有,但是在3.x上还未实现。光是sip做代理服务转发请求到freeswitch上,3.x版本配置上就没有一个能成功使用的示例,配置都是2.x的,很多参数还不适配。整了2天都没搞明白,果断弃坑,选用kamailio,此时才发现ka
- opensips-cli安装
sip代理
背景opensips版本在3.x的文章一方面比较少,另一方面相关的介绍部分过时。最近在研究opensips,所以一并把相关的文章详细列出来,敬请期待,linux版本是centos7.91.opensips-cli安装准备1.1python3.9.18安装opensips-cli源码安装地址:https://github.com/OpenSIPS/opensips-cli/blob/master/d
- OpenSIPS配置脚本结构-》opensips.cfg
举世无双勇
opensips
OpenSIPs的配置文件一般命名为opensips.cfg,它是一个自定义的类C风格的脚本。逻辑上,一般把脚本划分为三个部分:全局变量模块描述路由逻辑下面是一个简单的实例:#######GlobalParameters#########debug=3log_stderror=nofork=yeschildren=4listen=udp:127.0.0.1:5060#######ModulesSe
- 【opensips】使用tls加密后的sip流如何通过wireshark查看?
安安爸Chris
使用tls加密sip后,所有的sip都是密文,所以即使抓包,也无法查看到sip信令流。实际上如果有tls服务器端certificate的privatekey的话,是可以把tls的sip流解密的。前提条件在opensips上针对tls端口抓的pcap包这个包必须包含tls握手的全过程,从ClientHello/ServerHello开始获取到certificate的privatekey文件加密的tl
- OpenSIPS 通话中 UPDATE 请求导致没有声音问题
谈谈1974
随笔工具配置OpenSIPS服务器SIP
文章目录1.问题现象2.抓包排查3.问题分析及解决方案1.问题现象在SIP应用的开发中,通话一端听不到声音是比较常见的问题。一般来说,没有声音意味着RTP传输存在障碍,追根究底就是网络不通或者端口未开放等原因。但在实践中,真正造成RTP传输故障的原因各式各样,以下是笔者遇到的一个案例:坐席使用软电话注册到OpenSIPS,常驻拉起后拨打外部用户,媒体流传输正常坐席使用硬话机注册到OpenSIPS,
- ubuntu 安装opensips osip exosip
somgl
其他siposipexosip
1、安装包准备osip:http://ftp.gnu.org/gnu/osip/exosip:http://download.savannah.nongnu.org/releases/exosip/需要的软件apt-getinstallmakegccg++2、下载安装包wgethttp://ftp.gnu.org/gnu/osip/libosip2-3.6.0.tar.gzwgethttp://d
- java短路运算符和逻辑运算符的区别
3213213333332132
java基础
/*
* 逻辑运算符——不论是什么条件都要执行左右两边代码
* 短路运算符——我认为在底层就是利用物理电路的“并联”和“串联”实现的
* 原理很简单,并联电路代表短路或(||),串联电路代表短路与(&&)。
*
* 并联电路两个开关只要有一个开关闭合,电路就会通。
* 类似于短路或(||),只要有其中一个为true(开关闭合)是
- Java异常那些不得不说的事
白糖_
javaexception
一、在finally块中做数据回收操作
比如数据库连接都是很宝贵的,所以最好在finally中关闭连接。
JDBCAgent jdbc = new JDBCAgent();
try{
jdbc.excute("select * from ctp_log");
}catch(SQLException e){
...
}finally{
jdbc.close();
- utf-8与utf-8(无BOM)的区别
dcj3sjt126com
PHP
BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK SPACE"。这样如
- JAVA Annotation之定义篇
周凡杨
java注解annotation入门注释
Annotation: 译为注释或注解
An annotation, in the Java computer programming language, is a form of syntactic metadata that can be added to Java source code. Classes, methods, variables, pa
- tomcat的多域名、虚拟主机配置
g21121
tomcat
众所周知apache可以配置多域名和虚拟主机,而且配置起来比较简单,但是项目用到的是tomcat,配来配去总是不成功。查了些资料才总算可以,下面就跟大家分享下经验。
很多朋友搜索的内容基本是告诉我们这么配置:
在Engine标签下增面积Host标签,如下:
<Host name="www.site1.com" appBase="webapps"
- Linux SSH 错误解析(Capistrano 的cap 访问错误 Permission )
510888780
linuxcapistrano
1.ssh -v
[email protected] 出现
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
错误
运行状况如下:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuratio
- log4j的用法
Harry642
javalog4j
一、前言: log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包。由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类,但当时jdk1.4已接近完成,所以sun拒绝使用log4j,当在java开发中
- mysql、sqlserver、oracle分页,java分页统一接口实现
aijuans
oraclejave
定义:pageStart 起始页,pageEnd 终止页,pageSize页面容量
oracle分页:
select * from ( select mytable.*,rownum num from (实际传的SQL) where rownum<=pageEnd) where num>=pageStart
sqlServer分页:
 
- Hessian 简单例子
antlove
javaWebservicehessian
hello.hessian.MyCar.java
package hessian.pojo;
import java.io.Serializable;
public class MyCar implements Serializable {
private static final long serialVersionUID = 473690540190845543
- 数据库对象的同义词和序列
百合不是茶
sql序列同义词ORACLE权限
回顾简单的数据库权限等命令;
解锁用户和锁定用户
alter user scott account lock/unlock;
//system下查看系统中的用户
select * dba_users;
//创建用户名和密码
create user wj identified by wj;
identified by
//授予连接权和建表权
grant connect to
- 使用Powermock和mockito测试静态方法
bijian1013
持续集成单元测试mockitoPowermock
实例:
package com.bijian.study;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import org.junit.Before;
import org.junit.Test;
import or
- 精通Oracle10编程SQL(6)访问ORACLE
bijian1013
oracle数据库plsql
/*
*访问ORACLE
*/
--检索单行数据
--使用标量变量接收数据
DECLARE
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
select ename,sal into v_ename,v_sal
from emp where empno=&no;
dbms_output.pu
- 【Nginx四】Nginx作为HTTP负载均衡服务器
bit1129
nginx
Nginx的另一个常用的功能是作为负载均衡服务器。一个典型的web应用系统,通过负载均衡服务器,可以使得应用有多台后端服务器来响应客户端的请求。一个应用配置多台后端服务器,可以带来很多好处:
负载均衡的好处
增加可用资源
增加吞吐量
加快响应速度,降低延时
出错的重试验机制
Nginx主要支持三种均衡算法:
round-robin
l
- jquery-validation备忘
白糖_
jquerycssF#Firebug
留点学习jquery validation总结的代码:
function checkForm(){
validator = $("#commentForm").validate({// #formId为需要进行验证的表单ID
errorElement :"span",// 使用"div"标签标记错误, 默认:&
- solr限制admin界面访问(端口限制和http授权限制)
ronin47
限定Ip访问
solr的管理界面可以帮助我们做很多事情,但是把solr程序放到公网之后就要限制对admin的访问了。
可以通过tomcat的http基本授权来做限制,也可以通过iptables防火墙来限制。
我们先看如何通过tomcat配置http授权限制。
第一步: 在tomcat的conf/tomcat-users.xml文件中添加管理用户,比如:
<userusername="ad
- 多线程-用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
bylijinnan
java多线程
public class IncDecThread {
private int j=10;
/*
* 题目:用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
* 两个问题:
* 1、线程同步--synchronized
* 2、线程之间如何共享同一个j变量--内部类
*/
public static
- 买房历程
cfyme
2015-06-21: 万科未来城,看房子
2015-06-26: 办理贷款手续,贷款73万,贷款利率5.65=5.3675
2015-06-27: 房子首付,签完合同
2015-06-28,央行宣布降息 0.25,就2天的时间差啊,没赶上。
首付,老婆找他的小姐妹接了5万,另外几个朋友借了1-
- [军事与科技]制造大型太空战舰的前奏
comsci
制造
天气热了........空调和电扇要准备好..........
最近,世界形势日趋复杂化,战争的阴影开始覆盖全世界..........
所以,我们不得不关
- dateformat
dai_lm
DateFormat
"Symbol Meaning Presentation Ex."
"------ ------- ------------ ----"
"G era designator (Text) AD"
"y year
- Hadoop如何实现关联计算
datamachine
mapreducehadoop关联计算
选择Hadoop,低成本和高扩展性是主要原因,但但它的开发效率实在无法让人满意。
以关联计算为例。
假设:HDFS上有2个文件,分别是客户信息和订单信息,customerID是它们之间的关联字段。如何进行关联计算,以便将客户名称添加到订单列表中?
&nbs
- 用户模型中修改用户信息时,密码是如何处理的
dcj3sjt126com
yii
当我添加或修改用户记录的时候对于处理确认密码我遇到了一些麻烦,所有我想分享一下我是怎么处理的。
场景是使用的基本的那些(系统自带),你需要有一个数据表(user)并且表中有一个密码字段(password),它使用 sha1、md5或其他加密方式加密用户密码。
面是它的工作流程: 当创建用户的时候密码需要加密并且保存,但当修改用户记录时如果使用同样的场景我们最终就会把用户加密过的密码再次加密,这
- 中文 iOS/Mac 开发博客列表
dcj3sjt126com
Blog
本博客列表会不断更新维护,如果有推荐的博客,请到此处提交博客信息。
本博客列表涉及的文章内容支持 定制化Google搜索,特别感谢 JeOam 提供并帮助更新。
本博客列表也提供同步更新的OPML文件(下载OPML文件),可供导入到例如feedly等第三方定阅工具中,特别感谢 lcepy 提供自动转换脚本。这里有导入教程。
- js去除空格,去除左右两端的空格
蕃薯耀
去除左右两端的空格js去掉所有空格js去除空格
js去除空格,去除左右两端的空格
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g
- SpringMVC4零配置--web.xml
hanqunfeng
springmvc4
servlet3.0+规范后,允许servlet,filter,listener不必声明在web.xml中,而是以硬编码的方式存在,实现容器的零配置。
ServletContainerInitializer:启动容器时负责加载相关配置
package javax.servlet;
import java.util.Set;
public interface ServletContainer
- 《开源框架那些事儿21》:巧借力与借巧力
j2eetop
框架UI
同样做前端UI,为什么有人花了一点力气,就可以做好?而有的人费尽全力,仍然错误百出?我们可以先看看几个故事。
故事1:巧借力,乌鸦也可以吃核桃
有一个盛产核桃的村子,每年秋末冬初,成群的乌鸦总会来到这里,到果园里捡拾那些被果农们遗落的核桃。
核桃仁虽然美味,但是外壳那么坚硬,乌鸦怎么才能吃到呢?原来乌鸦先把核桃叼起,然后飞到高高的树枝上,再将核桃摔下去,核桃落到坚硬的地面上,被撞破了,于是,
- JQuery EasyUI 验证扩展
可怜的猫
jqueryeasyui验证
最近项目中用到了前端框架-- EasyUI,在做校验的时候会涉及到很多需要自定义的内容,现把常用的验证方式总结出来,留待后用。
以下内容只需要在公用js中添加即可。
使用类似于如下:
<input class="easyui-textbox" name="mobile" id="mobile&
- 架构师之httpurlconnection----------读取和发送(流读取效率通用类)
nannan408
1.前言.
如题.
2.代码.
/*
* Copyright (c) 2015, S.F. Express Inc. All rights reserved.
*/
package com.test.test.test.send;
import java.io.IOException;
import java.io.InputStream
- Jquery性能优化
r361251
JavaScriptjquery
一、注意定义jQuery变量的时候添加var关键字
这个不仅仅是jQuery,所有javascript开发过程中,都需要注意,请一定不要定义成如下:
$loading = $('#loading'); //这个是全局定义,不知道哪里位置倒霉引用了相同的变量名,就会郁闷至死的
二、请使用一个var来定义变量
如果你使用多个变量的话,请如下方式定义:
. 代码如下:
var page
- 在eclipse项目中使用maven管理依赖
tjj006
eclipsemaven
概览:
如何导入maven项目至eclipse中
建立自有Maven Java类库服务器
建立符合maven代码库标准的自定义类库
Maven在管理Java类库方面有巨大的优势,像白衣所说就是非常“环保”。
我们平时用IDE开发都是把所需要的类库一股脑的全丢到项目目录下,然后全部添加到ide的构建路径中,如果用了SVN/CVS,这样会很容易就 把
- 中国天气网省市级联页面
x125858805
级联
1、页面及级联js
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&l