通过与Kamailio的两个代理建立SIP会话

时间:2014-11-28 08:18:26

标签: ubuntu proxy sip kamailio

我想通过两个SIP代理实现会话建立SIP呼叫。为此,我使用Kamailio Server,但我不知道如何更改kamailio.cfg(/etc/kamailio/kamailio.cfg)配置文件来执行此操作。有什么帮助吗?

这是我想要实现的场景,其中Alice和Bob是SIP客户端(ekiga,blink,twinkle ......),Proxy 1和Proxy 2是两个Kamailio服务器。

Alice           Proxy 1          Proxy 2            Bob
 |                |                |                |
 |   INVITE F1    |                |                |
 |--------------->|                |                |
 |     407 F2     |                |                |
 |<---------------|                |                |
 |     ACK F3     |                |                |
 |--------------->|                |                |
 |   INVITE F4    |                |                |
 |--------------->|   INVITE F5    |                |
 |     100  F6    |--------------->|   INVITE F7    |
 |<---------------|     100  F8    |--------------->|
 |                |<---------------|                |
 |                |                |     180 F9     |
 |                |    180 F10     |<---------------|
 |     180 F11    |<---------------|                |
 |<---------------|                |     200 F12    |
 |                |    200 F13     |<---------------|
 |     200 F14    |<---------------|                |
 |<---------------|                |                |
 |     ACK F15    |                |                |
 |--------------->|    ACK F16     |                |
 |                |--------------->|     ACK F17    |
 |                |                |--------------->|
 |                Both Way RTP Media                |
 |<================================================>|
 |                |                |     BYE F18    |
 |                |    BYE F19     |<---------------|
 |     BYE F20    |<---------------|                |
 |<---------------|                |                |
 |     200 F21    |                |                |
 |--------------->|     200 F22    |                |
 |                |--------------->|     200 F23    |
 |                |                |--------------->|
 |                |                |                |

非常感谢,

爱丽丝

1 个答案:

答案 0 :(得分:0)

如果每个代理都有自己的DNS域,则路由通​​过dns完成 - 例如,当alice@a.com(代理1上的用户)正在调用bob@b.com(代理2上的用户)时。默认配置中不需要进行任何特定更改。

如果两个代理具有相同的域,则必须从默认配置文件开始并更改为:

    路由[LOCATION]中的
  • 如果查找(&#34;位置&#34;)为false且请求不是来自其他服务器,请将请求发送到其他服务器,如:
if(src_ip!=the.other.proxy.ip) {
    $du = "sip:the.other.proxy.ip";
    route(RELAY);
}
  • 如果请求来自其他服务器并且查找(&#34; location&#34;)仍为false,则callee处于脱机状态,让kamailio返回404