JsSIP从0.6.0版本开始,包括Node调试模块,适用于Node.js和浏览器。JsSIP通过JsSIP.debug访问器公开模块。
在浏览器中调试
默认情况下,JsSIP不会向浏览器控制台记录任何内容。为了启用调试,请在浏览器控制台中运行以下命令并重新加载页面:
> JsSIP.debug.enable('JsSIP:*');
请注意,日志记录设置存储在浏览器LocalStorage中。要禁用它,请在浏览器控制台中运行以下命令并重新加载页面:
> JsSIP.debug.disable('JsSIP:*');
为了在默认情况下启用它,请在<script>标记后添加以下内容:
<script src='js/jssip-X.Y.Z.min.js'></script>
<script>JsSIP.debug.enable('JsSIP:*');</script>
Node.js中的调试
在运行节点脚本/命令之前,按如下方式设置DEBUG环境变量:
$ export DEBUG="JsSIP:*"
或者按如下方式运行:
$ DEBUG="JsSIP:*" node my_script.js
部分调试
与“JsSIP:*”(启用所有JsSIP组件的调试)不同,只启用单个组件的调试如下所示:
浏览器:
> JsSIP.debug.enable('JsSIP:Transport JsSIP:RTCSession*');
node.js:
$ DEBUG="JsSIP:Transport JsSIP:RTCSession*" node my_script.js
JsSIP源树中的每个文件都提供了不同的调试标识符(所有这些标识符都以“JsSIP:”开头),该标识符与文件名及其相对路径相匹配。
例如,要启用DTMF的调试(其类在src/RTCSession/DTMF.js中定义),请将“JsSIP:RTCSession:DDTMF”添加到debug变量(Node)中,将其传递给JsSIP.debug.enable()方法(浏览器)。使用“JsSIP:RTCSession*”启用JsSIP的调试。RTCSession类及其所有子类。