基本功能是:
落地网关------OpenSIPS(dispatcher.so)------FreeSWITCH
FreeSWITCH------OpenSIPS(dialplan.so)------落地网关
先在数据库中插入样本数据:
-- fs
insert into dispatcher (setid, destination) values(1,'sip:192.168.1.100:5080') ;
-- dialplan
-- 号码102被翻译成了212341234,attrs指向vos地址
-- 用 opensips-cli -x mi dp_translate 1 102 来验证
INSERT INTO dialplan (dpid, pr, match_op, match_exp, subst_exp, repl_exp, attrs)
VALUES (1, 0, 0, '102', '', '212341234', 'sip:192.168.1.101:5060');
-- 号码012345678先按照MATCHEXP的配置进行0([0-9]{8})的匹配,匹配成功后跟MATCHEXP没什么关系了。
-- 接下来做替换操作,替换要依据SUBSTEXP和REPLEXP,现在SUBSTEXP配置的值是0([0-9]{8}),
-- 号码012345678拆分成了两个部分:0和第一个括号里的内容12345678,REPLEXP配置的值是`\1`,
-- 也就是引用第一个括号里的内容,这样最后得到的结果是12345678,也就是删除了前缀0,俗称吃掉0。
-- match_op 为1表示为正则
-- 用 opensips-cli -x mi dp_translate 1 012345678 来验证
INSER