如何从 KAMAILIO 中的 SIP 联系人 header 检索自定义参数值?

How to retrieve custom parameter value from SIP contact header in KAMAILIO?

我正在使用 Kamailio 4.4 并且我正在从我的客户端扩展中使用 Contact header 发送自定义参数。 header 发送到 Kamailio 是这样的

Contact: "Test" <sip:2@111.11.111.11:46666;pn-d=android;pn-t=d1eCzkw9bhk:APA91bFntzV>  

我需要提取这两个参数pn-dpn-t的值。 我尝试了下面给出的代码。

$var(pn-d_value) = $sel(contact.uri.params[pn-d]);

但无法检索该值。

请建议一种获取自定义参数值的方法。

我可以通过两个步骤解决这个问题。
首先,您需要从 header 中提取 URI,并将结果存储到变量中。

$var(uri) = $sel(contact.uri);

然后就可以对这个uri进行transformation来获取参数值了。像这样

$var(pn-d_value) = $(var(uri){uri.param,pn-d}); //got "android" here
$var(pn-t_value) = $(var(uri){uri.param,pn-t}); //got "d1eCzkw9bhk:APA91bFntzV" here