kamailio隐私标题和取消

时间:2019-04-18 08:17:20

标签: sip privacy kamailio

我正在处理一个私人呼叫者案例,其中仅在最初的INVITE中传递隐私标头,而在随后的中间对话请求(例如CANCEL)中则不传递。

存在“隐私”标头时,我的下游希望我向他们发送另一个标头。

在大多数情况下,我可以通过使用dlg模块来跟踪对话框中的状态来处理此问题,以便中间对话框请求可以了解初始INVITE中存在Privacy报头。

但是,我遇到的一个问题是,仅对于CANCEL请求,我无法向中继到下游的SIP请求中添加任何标头。

我在其他帖子(回顾了几年)中读到,一种选择是在下游使用无状态CANCEL。另一个可能的选择是在我的级别开始新事务。

我想知道是否还有其他替代方法。我本来建议我的下游使用$ avp,但即使初始INVITE和CANCEL应该在同一事务中,CANCEL也无法访问存储在初始INVITE中的$ avp值。

还有其他可行的技巧。例如使用Record-Route作为数据存储(可能是安全问题)或要求下游使用dlg模块,这可能会给性能带来很大的成本。

我想知道你们是否已经解决了这个问题。

1 个答案:

答案 0 :(得分:0)

我更喜欢使用htable来存储事务,直到获得ACK,而不是dialog模块。它比它快。收到ACK后,可以删除已存储的交易。

此外,您可以查看TM moduleTMX module,它们具有有关“取消”的功能。