Freeswitch: Регистрация пользователя

http://pro-voip.com.ua freeswitchSIP-аккаунты в FS построены по принципу электронной почты. Каждый аккаунт принадлежит определенному домену. Например, 1000@example.com — это абонент с номером 1000 в домене example.com. Доменом может выступать  ip-адрес FS’а или доменное имя, которое с помощью DNS преобразуется в тот же ip-адрес.

В общем виде структура домена выглядит следующим образом:

Вот такая иерархия:

  • есть домен;
  • домену принадлежат пользователи;
  • пользователи могут объединяться в группы;
  • пользователи могут находиться в нескольких группах одновременно.

Параметры (params) и переменные (variables) могут быть указаны в настройках:

  • домена — тогда они распостраняются на всех пользователей домена;
  • группы — распостраняются на пользователей группы;
  • отдельного пользователя — соответсвенно, распостраняются только на этого пользователя.

Чем ниже уровень вложения, тем выше приоритет настроек. Например, если один и тот же параметр указан в настройках и домена, и отдельно пользователя, но имеет разные значения, конкретно для этого пользователя будет применяться его настройка, а не всего домена.

 

Расположение файлов пользователей

$FS_ROOT/conf/directory/

Дефолтная конфигурация FS предлагает вести конфигурационные файлы домена и пользователей следующим образом:

  • есть отдельно файл домена example.com.xml
  • и есть директория , в котором хранится множество xml-файлов пользователей — по одному файлу на каждого пользователя;
  • директория с пользователями example.com подключается к файлу домена example.com.xml с помощью   X-PRE-PROCESS. Вот как это выглядит в файле домена:

$FS_ROOT/conf/directory/example.com.xml

Минимальная конфигурация подключения пользователя предполагает задание значений ID (логин) и password (пароль):

$FS_ROOT/conf/directory/example.com/1000.xml

 

Группы пользователей

Группа (group) — это логическое объединение пользователей. Может использоваться для задания общих параметров, чтобы не прописывать их для каждого пользователя отдельно; также применяется для групповых вызовов, чем упрощает написание диалплана.

Следующий пример конфигурации домена говорит о том, что:

  • в домене example.com создаем группу из всех пользователей домена, называем группу example.com;
  • создаем группу managers, которая состоит из пользователей 1000, 1001 и 1002;
  • создаем группу support, которая состоит из пользователей 1000, 2000 и 2001;

$FS_ROOT/conf/directory/example.com.xml

В группы managers и support пользователи были добавлены с указанием типа «pointer» — указатель — именно благодаря этому можно одного и того же пользователя добавлять одновременно в несколько групп.