Установление SIP-сессии через двух прокси с Kamailio

Я хочу реализовать SIP-вызов для установления сеанса через два SIP-прокси. Для этого я использую Kamailio Server, но я не знаю, как изменить конфигурационный файл kamailio.cfg (/etc/kamailio/kamailio.cfg), чтобы сделать это. Любая помощь?

Это сценарий, который я хочу реализовать, где Алиса и Боб - это 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 ответ

Если у каждого прокси есть свой собственный домен DNS, то маршрутизация осуществляется через dns - например, когда alice@a.com (пользователь на прокси 1) вызывает bob@b.com (пользователь на прокси 2). Никаких конкретных изменений не потребуется в конфигурации по умолчанию.

Если оба прокси имеют один и тот же домен, вам нужно начать с файла конфигурации по умолчанию и изменить его на:

  • в маршруте [LOCATION], если lookup("location") имеет значение false и запрос не поступил с другого сервера, отправьте запрос на другой сервер, например:
if(src_ip!=the.other.proxy.ip) {
    $du = "sip:the.other.proxy.ip";
    route(RELAY);
}
  • если запрос поступает с другого сервера и поиск ("местоположение") по-прежнему ложен, то вызываемый абонент находится в автономном режиме, пусть kamailio возвращает 404
Другие вопросы по тегам