call tag 以及 cause
有时候客户希望知道一些历史呼叫的细节,例如哪一方释放的呼叫、为什么会释放呼叫等。由于这些细节都不是实时呼叫的细节,我们无法用 miniSIPServer 内部的跟踪工具进行跟踪,因此我们更新了 CDR 功能,以便回溯信息、了解呼叫的更深一点的细节。
在 CDR 的 FCI(Furnish Call/Charge Information, “提供呼叫/计费信息”)字段中,我们增加了参数“callTag=”以及”cause=”。请参考下图 CDR 记录的细节:
“callTag=” 参数用于保存当前呼叫的在 miniSIPServer 内部的释放位置,根据这个参数,我们可以知道呼叫在哪里被释放了、以及谁释放了这个呼叫。例如,呼叫有可能是收到了主叫侧的 BYE 消息从而导致释放的,诸如此类。这个参数的具体数值是 miniSIPServer 系统内部值,目前不会向客户们公开具体值的含义。
“cause=” 参数用于保存呼叫释放时的原因值。如果 miniSIPServer 收到了被叫侧的 4xx 或者 5xx 消息、同时该消息中包含 Reason 头域、并且在该域中携带了 cause 参数,则 miniSIPServer 会使用该原因值释放呼叫。其他情况下, miniSIPServer 根据内部的呼叫情况使用自己的 cause 值释放呼叫。当然,无论哪种情况, cause 值都会保存在 CDR 记录的 FCI 字段中。