1下载安装包,解压缩

tar -zxvf opensips-XXX_src.tar.gz

cd opensips-XXX-tls

2编译和安装

运行命令:make menuconfig(用键盘的上下箭头选择进入某个菜单项,用空格选择或取消选择选项.用“q”返回上一级)

(1)进入Configure Compile Options->Configure Excluded Modules,勾选db_mysql、dialplan;返回保存;

(2)进入Compile And Install OpenSIPS,此时开始编译和安装,结束后会返回到菜单界面

(3)进入Exit & Save All Changes退出;

3配置mysql相关

(1)编辑opensipsctlrc:vim/usr/etc/opensips/opensipsctlrc,把与mysql有关的注释去掉(DB_PATH和USERCOL保留注释):

(2)重启mysql服务:service mysqld start

(3)输入命令:opensipsdbctl create,提示的两个问题都选no。

4配置opensips

(1)输入命令osipsconfig,进入Generate OpenSIPS Script->Residential Script->Configure Residential Script,勾选USE_AUTH, USE_DBACC, USE_DBUSRLOC, USE_DIALOG,USE_NAT;

(2)用生成的opensips_residential_xxx.cfg替换原先的opensips.cfg:

注意:在使用过程中,每次修改配置文件都需要重启opensips服务。

(3)修改配置文件:vim /usr/etc/opensips/opensips.cfg ,改listen地址和mpath:

监听地址可以是ip或域名,这里填eth0,表示监听eth0的ip,mpath绝对地址是/usr/lib64/opensips/modules

5增加拨号规则处理

dpid0--用于号码变换:插号、删号、长短号处理等。

dpid1--用户呼叫转发、SIP trunk。

(1)修改配置文件,在if (!lookup("location","m")) {上面行加如下代码:

if (dp_translate("0","$ruri/$avp(dest)")){

$ruri =$avp(dest);

}

(2)修改if (!lookup("location","m")) {下加代码如下:

if (!lookup("location","m")) {

if (!db_does_uri_exist()) {

if (dp_translate("1","$ruri/$avp(dest)")) {

$ruri=$avp(dest);

forward();

exit;

}

}

xlog("hostport is $ruri\n");

t_newtran();

t_reply("404", "Not Found");

exit;

}

6启动opensips服务

输入命令:opensipsctl start

查看进程:ps aux | grep opensips

查看UDP链接状态:netstat -upln | grep opensips

查看TCP链接状态:netstat -tpln | grep opensips

检查服务端口:netstat -nlutp|grep sips

7创建opensips用户

opensipsctl add user password

如:opensipsctl add 100 100

8查询注册用户

opensipsctl ul show

9添加拨号规则(修改数据库)

>mysql -u opensips -p

输入密码opensipsrw,进入mysql

使用sql语句添加数据,例如:内部长号是1111开头,添加到10.75.58.23的以6开头的四位号的trunk:

use opensips;

insert into dialplan(dpid,match_op,match_exp,subst_exp,repl_exp) values(0,1," ^sip:1111....@.*","^sip:\(1111\)\(.*\)@\(.*\)","sip:\\2@10.75.58.9");

注意:这条记录用来匹配长号,去掉前缀,其中match_op=1表示运用正则表达式匹配规则,match_flaps=1

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐