-
Notifications
You must be signed in to change notification settings - Fork 56
Open
Description
为增强适配第三方 SIP Server 变体消息的能力,最新版 dp2ssl 增加了用定制脚本代码(或定制的 DLL)对 SIP 消息进行变换的机制。
配置使用方法:
- 在 dp2ssl 的数据目录(一般在 c:\programData\dp2\dp2ssl)中创建一个名为 charging.xml 的配置文件,其内容示范如下:
<charging>
<messageIO logging="on">
<script lang="javascript">
message += "|||append type=" + type;
</script>
</messageIO>
<!--
environment是smts特殊的环境变量,在脚本解析的时候会对 env 节进行遍历,
并且替换掉smts里的 env name 对应的占位符,替换成 env name的值。
-->
<environment>
<!--
env的value值如果是被{{}}包裹起来的值,是对应的dp2SSL的App设置界面的参数,
如果不是被包裹起来,则是value预设的固定值
在对消息变换脚本初始化的时候会将环境变量初始化之后带入,
在处理消息时,会根据规则自动替换进去。
在实际使用过程中需要根据使用场景灵活配置。
-->
<env name="{{_OI}}" value="CN-0000001-ZG" />
<env name="{{OI}}" value="{{SipInstitution}}" />
</environment>
<settings>
<key name="xxx" value="xxx"/>
</settings>
</charging>
(后面专门介绍这个配置文件的结构)
(上面示范代码的作用是,在原先消息的末尾添加部分内容,其中包括请求/响应的类型)
-
重新启动 dp2ssl。现在从 dp2ssl 发出的 SIP 消息,会自动先经过 charging.xml 文件中的 charging/messageIO/script 元素内的脚本代码处理,然后到达目标 SIP Server;目标 SIP Server 响应的代码,会自动先经过上述脚本代码处理,然后被 dp2ssl 相关功能模块进行处理。
-
如果需要对上述脚本代码的执行效果进行调试观察,先要确保 charging.xml 文件中的 charging/messageIO/@logging 属性值为 'on',这样 dp2ssl 运行过程中,所有发出和收到的 SIP 消息,都会记入 dp2ssl 数据目录下 log 子目录中的当天的错误日志文件中。
Metadata
Metadata
Assignees
Labels
No labels