freeswitch之SIP动态注册及动态配置拨号方案

freeswitch之SIP动态注册及动态配置拨号⽅案freeswitch之SIP动态注册及动态配置拨号⽅案
本⽂档描述freeswitch的动态配置SIP账户,以及动态修改拨号⽅案的问题。
⼀、 环境配置
服务器 centos 6.9 (64bit)
Java jdk1.8
Freeswitch 1.6.15~64bit ( 64bit)
Freeswitch路径 /usr/local/freeswitch(下述步骤全部以全路径为主)
限时保护⼆、 配置步骤
1、 修改freeswitch配置信息
修改⽂件配置⽂件f.xml
若为默认配置,最好清空哦:
echo “”> /usr/local/freeswitch/conf/autoload_configs/f.xml
修改⽂件柴火灶
vim/usr/local/freeswitch/conf/autoload_configs/f.xml
修改内容为:
<configurationname=“f” description=“XML Gateway”>
<binding name="directory ">
<param name="gateway-url"value="localhost:8080/directory"bindings="directory"/>
</binding>
<binding name="dialplan ">
<paramname="gateway-url" value="localhost:8080/dial"bindings="dialplan"/>
胶囊模具</binding>
其中
gateway-url 为javaWeb的接⼝地址
bindings=“directory” 表⽰该接⼝返回注册信息
bindings=“dialplan” 表⽰该接⼝返回拨号⽅案信息
2、 动态配置SIP信息
修改好配置⽂件后,freeswitch获取验证sip注册信息时,将调⽤接⼝:directory来进⾏获取注册信息
创建sip表:
CREATE TABLE sip (
id int(11) NOT NULL AUTO_INCREMENT,
user varchar(11) DEFAULT NULL COMMENT ‘⽤户名’,
pwd varchar(11) DEFAULT NULL COMMENT ‘密码’,
creat_at datetime DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULTCHARSET=utf8;创建注册接⼝/directory,如下
1、根据参数action参数判断⽤户的动作信息,获取参数中的sip帐号信息
2、根据sip帐号信息,从数据库查询相应的⽤户信息
3、⽤户为空时直接返回注册失败的xml
4、⽤户不为空时⽣成注册的xml信息
5、使⽤sip信息,参数:sip_to_host(ip地址)以及数据库中获取的密码信息:pwd,进⾏md5加密,加密失败时返回注册失败的xml信息
6、⽣成参数map,调动⽅法:replaceArgsNew,或者使⽤beel⼯具类,根据模版⽣成注册的xml信息
备注:
1、 模版⽂件内容
硝酸钙溶液
2、 注册失败的模版
3、⼯具类:replaceArgsNew
**public** **static** String replaceArgsNew(Stringtemplate, Map<String, String> data) {
// sb⽤来存储替换过的内容,它会把多次处理过的字符串按源字符串序存储起来。
StringBuffer sb = **new** StringBuffer();
**try** {
微安表Pattern pattern = Pattern.*compile*("\\$\\{(.+?)\\}");
Matcher matcher = pattern.matcher(template);
**while** (matcher.find()) {
String name = up(1);// 键名
String value = (String) (name);// 键值
**if** (value != **null**) {
value = place("\\", "\\\\\\");
value = place("$", "\\$");
matcher.appendReplacement(sb, value);
}
}
matcher.appendTail(sb);
} **catch** (Exception e) {
e.printStackTrace();
}
**return** sb.toString(); // 加⼀个空⾏(结束⾏)
}
3、 使⽤beel⼯具类处理模版信息时,项⽬需要导⼊jar包:antlr4-runtime-4.7.1.jar,beetl-core-2.2.3.jar,按需配置3、动态配置拨号⽅案
修改好配置⽂件后,freeswitch获取验证sip注册信息时,将调⽤接⼝:dial来进⾏获取注册信息
创建拨号⽅案表
CREATE TABLE dial_tab (
id int(11) NOT NULL,
call_prefix varchar(6) DEFAULT NULL COMMENT’被叫前缀’,
智能定位
gateway varchar(20) DEFAULT NULL COMMENT ‘⽹关名称’,
tranfer_prefix varchar(6) DEFAULT NULLCOMMENT ‘转接前缀’,
call_number varchar(20) DEFAULT NULLCOMMENT ‘主叫号码’,
creat_at datetime DEFAULT NULL,
PRIMARY KEY (id)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;创建拨号⽅案接⼝:dial

本文发布于:2024-09-25 22:25:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/170358.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:Avaya SIP
标签:信息   注册   配置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议