2

opensips用作透明代理服务器。原始消息流如下

Client -------> OpenSips (Invite request)
OpenSips ------------> FS (Invite to Freeswitch)
FS -------------> Opensips (Reply from FreeSwitch)
Opensips ------------------> Client (Reply back to Client)

dialog module用来保存对话框状态和topological_hiding要更改的模块contact headerFreeSwitch在发送BYE消息之前它工作正常。上Freeswitch BYEopensips生成404 not here响应。

根据配置opensips loose_route()返回false从不send BYE向客户开放。

注意:BYE 消息与邀请请求具有相同的对话框。

4

1 回答 1

0

使用时topology_hiding(),您必须使用topology_hiding_match(), 而不是匹配顺序请求loose_route()。所以如果你正在做这样的事情:

if (has_totag()) {
    if (!loose_route()) {
        xlog("cannot match request to a dialog\n");
        send_reply("404", "Not found");
    }
    route(RELAY);
}

您应该将其更改为:

if (has_totag()) {
    if (!topology_hiding_match()) {
        xlog("cannot match request to a dialog\n");
        send_reply("404", "Not found");
    }
    route(RELAY);
}
于 2018-03-03T12:48:44.253 回答