应用情景: 使用阿里服务器,落地使用本地的模拟线路(O口网关)。
1、FreeSWITCH 服务器开一个账号,比如 5000 internal , O口 SIP设置页面按照网关注册 5000 的账号信息。
2、dialplan 中添加拨号规则:
<condition field="destination_number" expression="^(\d{8,12})$"> <action application="lua" data="reregister.lua 5000 $1"/> </condition>
3、FreeSWITCH scripts/ 目录下 生产如下 reregister.lua :
gatewayNumber = argv[1] destNumber = argv[2] api = freeswitch.API(); -- 获取网关注册的地址,主叫号码替换 local domain = freeswitch.getGlobalVariable("domain"); local sofiaContactStr = api:executeString("sofia_contact " .. gatewayNumber .."@" .. domain); local dialStr = string.gsub(sofiaContactStr, gatewayNumber, destNumber); -- bridge到被叫号码 session:execute("bridge" , dialStr);
时间: 2024-08-24 12:47:31