为什么附加 HF 在 event_route 中不起作用?

Why append HF doesn't work in event_route?

我正在尝试将 kamailio 连接到 Microsoft Teams。 Dispatch 已正确配置并发送。 按照本教程:https://skalatan.de/en/blog/kamailio-sbc-teams,我添加了一个 Event_Route 以将联系人 header 添加到从 dispath 到 MS 的 SIP 选项:

event_route[tm:local-request] {
   xlog("*** tm:local-request *** ");
        if(is_method("OPTIONS") && $ru =~ "pstnhub.microsoft.com") {
               xlog("L_INFO", "Append new contact !\n");
               append_hf("Contact: <sip:MY_SBC_NAME.COM:5061;transport=tls>\r\n");
        }
        xlog("L_INFO", "Sent out tm request: $mb\n");
}

当我检查日志以查看我发送的帧时,我没有看到联系人 header 字段:

INFO: <script>: Append new contact !
INFO: <script>: Sent out tm request :
OPTIONS sip:sip.pstnhub.microsoft.com;transport=tls SIP/2.0
Via: SIP/2.0/TLS MY_SBC_NAME.COM:5061;branch=z9hG4bK4497.f3e5e754000000000000000000000000.0
To: <sip:sip.pstnhub.microsoft.com;transport=tls>
From: <sip:MY_SBC_NAME.COM.fr>;tag=a76e006ace3802951ed860e08df964af-7971
CSeq: 10 OPTIONS
Call-ID: 2e1278ea77796160-9837@MY_SBC_IP
Max-Forwards: 70
Content-Length: 0
User-Agent: kamailio (5.2.1 (x86_64/linux))``` 

根据有关 textop 的文档,append_hf(txt[ hdr]) : 这个函数可以从REQUEST_ROUTE, ONREPLY_ROUTE, FAILURE_ROUTE, BRANCH_ROUTE.

使用

所以我的问题是附加 HF 可以用于 Event_route 为什么它不起作用?

非常感谢。

对 SIP 消息的更改 headers 不会立即显示,请参阅:

如果它在 request_route 内,那么您就可以使用 msg_apply_changes() ,但在这种情况下,您可以只查看发送的内容,联系人应该在那里。通过 TLS,您可以使用 sipdumpsiptrace 等模块来查看 incoming/outgoing SIP 流量。