Перевод настроек файла sofia.conf.xml (Часть пятая)

Перевод настроек файла sofia.conf.xml (Часть пятая)
auth-calls

К пользователям в этой директории применяются параметры "auth-acl", чтобы ограничить им доступ к предопределённому ACL или CIDR.

    <param name="auth-calls" value="$${internal_auth_calls}"/>

Значение может быть "false", чтобы отключить аутентификацию для этого профиля, то есть при поступлении в профиль вызова абоненту не будет отправляться запрос проверки подлинности.

log-auth-failures

Делать записи в журнал ошибок проверки подлинности (Registration & Invite). Может понадобиться пользователям, собирающимся использовать fail2ban. Примечание: Требуется SVN#15654 или выше.

    <param name="log-auth-failures" value="true"/>
auth-all-packets

Включить проверку подлинности для всех пакетов, а не только для REGISTER и INVITE (Примечание: OPTIONS, SUBSCRIBE, INFO и MESSAGE не проходят проверку подлинности, даже если стоит значение true; подробнее смотрите http://jira.freeswitch.org/browse/FS-2871)

    <param name="auth-all-packets" value="false"/>

Регистрация

disable-register

Отключает регистрацию, что может быть нежелательно в публичных сетях.

    <param name="disable-register" value="true"/>
multiple-registrations

Для этого параметра допустимы значения "contact", "true", "false". value="true" – наиболее часто используемый вариант. При установке значения "contact" будут удаляться старые регистрации, на основании данных из полей sip_user, sip_host и contact, кроме call-id

    <param name="multiple-registrations" value="contact"/>
max-registrations-per-extension

Согласно Jira FS-2720

accept-blind-reg

Позволяет закомментировать следующую строку и раскомментировать одну или две оставшиеся строки аутентификации вызова.

    <param name="accept-blind-reg" value="true"/>
inbound-reg-force-matching-username

Сопоставляет данные user и auth-user, которые должны совпасть.

    <param name="inbound-reg-force-matching-username" value="true"/>
force-publish-expires

Принудительно обновляет пользовательские данные (-1 значит бесконечно)

    <param name="force-publish-expires" value="true"/>
force-register-domain

Все входящие регистрации будут записаны в указанный здесь домен для пользователей. Закомментируйте, если хотите использовать несколько доменов.

    <param name="force-register-domain" value="$${domain}"/>
force-register-db-domain

Все входящие регистрации будут сохраняться в базе данных, использующей этот домен. Закомментируйте, если хотите использовать несколько доменов.

    <param name="force-register-db-domain" value="$${domain}"/>
send-message-query-on-register

Может быть установлено 'true', 'false' или 'first-only'. Если стоит 'true' (по умолчанию), mod_sofia отправляет сообщение-запрос на регистрацию. mod_voicemail использует эту функцию для подсчёта сообщений.

    <param name="send-message-query-on-register" value="true"/>

Если установлено 'first-only', только первый из пакетов REGISTER вызывает сообщение-запрос (требуется, чтобы юзер-агент увеличивал NC на последующий REGISTER. Некоторые телефоны этого не делают, например, snom).

В итоге сообщение-запрос приводит к тому, что регистрирующему юзер-агенту отправляется сообщение NOTIFY MWI (используется для терминалов, ожидающих MWI, но не подписывающихся на него).

unregister-on-options-fail

Если установлено значение True совместно с nat-options-ping, конечная точка потеряет регистрацию если не получит ответ на пакет OPTIONS.

    <param name="unregister-on-options-fail" value="true"/>
nat-options-ping

С этой установкой FreeSWITCH периодически отправляет пакет OPTIONS всем расположенным за NAT конечным точкам, чтобы поддерживать соединение. Если установлено значение True совместно с unregister-on-options-fail, конечная точка потеряет регистрацию если не получит ответ на пакет OPTIONS.

    <param name="nat-options-ping" value="true"/>
all-reg-options-ping

С этой установкой FreeSWITCH периодически отправляет пакет OPTIONS всем зарегистрирванным конечным точкам, чтобы поддерживать соединение. Если установлено значение True совместно с unregister-on-options-fail, конечная точка потеряет регистрацию если не получит ответ на пакет OPTIONS.

    <param name="all-reg-options-ping" value="true"/>
registration-thread-frequency

Контролирует, как часто осуществляется проверка актуальности регистраций во FreeSWITCH. Также управляет частотой отправки пакетов проверки активности регистрации (OPTIONS), которые настраиваются с помощью таких опций, как nat-options-ping.

    <param name="registration-thread-frequency" value="30"/>
inbound-reg-in-new-thread

Для каждой входящей регистрации запускать новый поток обработки.

    <param name="inbound-reg-in-new-thread" value="true"/>

Подписка

force-subscription-expires

Принудительное завершение срока подписки раньше срока.

    <param name="force-subscription-expires" value="60"/>
force-subscription-domain

Все входящие подписки будут записаны в указанный здесь домен для пользователей. Закомментируйте, если хотите использовать несколько доменов.

    <param name="force-subscription-domain" value="$${domain}"/>

Присутствие

manage-presence

Активировать присутствие.

Если вы хотите показать своё присутствие (смотрите dbname и presence-hosts), установите значение "true" в первом профиле и активируйте базу данных общего присутствия. Затем в последующих профилях, с которыми делите присутствие, установите для этой переменной значение "passive" и тоже включите базу данных общего присутствия.

    <param name="manage-presence" value="true"/>
dbname

Используется для передачи информации о присутствии между профилями sofia.

Имя базы данных, используемой для этого профиля.

    <param name="dbname" value="share_presence"/>
presence-hold-state

По умолчанию, когда вызов помещается на удержание, другими направлениями этот extension видится как звонящий. Это можно изменить, назначив для данного параметра одно из следующих значений. Доступно начиная с коммита 1145905 от 13 апреля 2012.

  • confirmed - направление занято.
  • early (по умолчанию) - направление вызывается.
  • terminated - направление бездействует.

    <param name="presence-hold-state" value="confirmed"/>
presence-hosts

Список доменов, которые имеют общее присутствие в базе данных, указанной в dbname. Для тех, кто использует несколько доменов в одном профиле эта функция в любом случае недоступна, так что в этом случае лучше установить значение "_DISABLED_", чтобы избежать смешивания пользователей с похожими доменами. В системах из нескольких доменов, также известных как multi-tenant, звонок 1001 будет пытаться вызвать всех подходящих пользователей во всех доменах. Не используйте presence-hosts и multi-tenant одновременно.

    <param name="presence-hosts" value="$${domain}"/>
presence-privacy

Глобально скрывает caller ID из записей присутствия в распределённых сообщениях NOTIFY (Опционально). Например, записью присутствия для направления 1001, совершающего вызов направления 1002, будет "Talk 1002". Если тег presence-privacy имеет значение true, то будет передаваться запись вида "On The Phone" (без указания направления звонка). То есть абонент, вызывающий 1001, не увидит, с кем разговаривает это направление. http://jira.freeswitch.org/browse/FS-849 Также будет скрыт номер в статусах "hold", "ring", "call" и некоторых других. http://jira.freeswitch.org/browse/FS-4420

    <param name="presence-privacy" value="true"/>
send-presence-on-register

Указать, следует ли отправлять сведения о присутствии при регистрации пользователей. По умолчанию сведения о присутствии не отправляются. Допустимые варианты:

  • false
  • true
  • first-only

    <param name="send-presence-on-register" value="true"/>

Опции, связанные с CallerID

caller-id type

Выбранное значение может быть переопределено через указание типа входящего звонка и/или канальной переменной sip_cid_type.

Заголовок Remote-Party-ID:

   <param name="caller-id-type" value="rpid"/>

Семейство заголовков P-*-Identity:

   <param name="caller-id-type" value="pid"/>

Никакой:

   <param name="caller-id-type" value="none"/>
pass-callee-id

(По умолчанию true) Отключить, установив значение false, если столкнётесь с проблемами: например, окажется, что ваш шлюз по какой-то причине реагирует на заголовки X-headers, которые он должен игнорировать.

    <param name="pass-callee-id" value="false"/>

Другие функции

hold-music
    <param name="hold-music" value="$${hold_music}"/>
disable-hold

Позволяет отключить функцию Music On Hold (добавлено в коммите GIT e5cc0539ffcbf660637198c698e90c2e30b05c2f, от 30 апреля, пятница 19:14:39 2010 -0500).

Это может пригодиться, когда вызывающее устройство собирается отправить собственную MOH, однако отправляет на FreeSWITCH пакет REINVITE, инициирующий запуск встроенной MOH.

Изменить эту настройку также можно из диалплана с помощью переменной канала disable_hold.

    <param name="disable-hold" value="true"/>
apply-inbound-acl

Устанавливает, какой из списков управления доступом, определённых в acl.conf.xml, следует применить к этому профилю.

    <param name="apply-inbound-acl" value="domains"/>
apply-register-acl
    <param name="apply-register-acl" value="domains"/>
apply-proxy-acl
    <param name="apply-proxy-acl" value="myproxies"/>

Это позволяет отправлять трафик на FreeSWITCH через один или несколько прокси-серверов.

Прокси-сервер добавляет заголовок с именем X-AUTH-IP, в котором содержится IP-адрес клиента. FreeSWITCH доверяет этому прокси-серверу, так как его IP-адрес есть в списке прокси-сереверов ACL и использует IP из заголовка для аутентификации ACL.

record-template
    <param name="record-template" value="$${base_dir}/recordings/${caller_id_number}.${target_domain}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
max-proceeding

максимальное количество открытых диалогов

    <param name="max-proceeding" value="1000"/>
bind-params

Если вы хотите задать какие-либо особые параметры привязки

    <param name="bind-params" value="transport=udp"/>
disable-transfer

Отключает передачу данных, что может быть нежелательно в публичных сетях.

    <param name="disable-transfer" value="true"/>
manual-redirect
    <param name="manual-redirect" value="true"/>
enable-3pcc

enable-3pcc разрешает управление вызовом третьей стороне. Управление вызовами третьей стороной полезно в тех случаях, когда в SIP-приглашениях не содержится SDP.

Для enable-3pcc может быть установлено значение 'true' или 'proxy', если стоит true, вызов принимается сразу же, а если стоит proxy, он сначала дожидается ответа, только после этого отправляет команду принять его.

    <param name="enable-3pcc" value="true"/>
nonce-ttl

TTL для одноразовой проверки подлинности.

    <param name="nonce-ttl" value="60"/>

Этот параметр установлен на 60 секунд, если здесь не назначено другое. Он используется, чтобы определить, как долго должны храниться регистрационные записи пользователей в таблице sip_authentication. Поле окончания срока действия в таблице sip_authentication состоит из этого значения и параметра окончания срока действия в юзер-агенте.

sql-in-transactions

Если задано значение true (по умолчанию), профиль получает инструкцию ждать накопления 500 SQL-инструкций или истечения 500 мс, после чего выполнить их в транзакции (для повышения производительности).

    <param name="sql-in-transactions" value="true"/>
odbc-dsn

Если у вас есть поддержка ODBC и рабочий dsn, можете использовать их вместо SQLite.

    <param name="odbc-dsn" value="dsn:user:pass"/>
mwi-use-reg-callid
    <param name="mwi-use-reg-callid" value="false">
username

Если вы хотите скрыть факт использования FreeSWITCH в SDP-сообщениях (а именно в полях o= и s=), то задайте параметр имени пользователя под профилем. Он никак не связан с параметром username, относящимся к настройкам шлюза. Если это значение не установлено, система по умолчанию использует FreeSWITCH в качестве параметра username с полями o= и s=.

    <param name="username" value="AnyValueHere" />

Пример:

    .

    v=0.

    o=root 1346068950 1346068951 IN IP4 1.2.3.4.

    s=root.

    c=IN IP4 1.2.3.4.

    t=0 0.

    m=audio 26934 RTP/AVP 18 0 101 13.

    a=fmtp:18 annexb=no.

    a=rtpmap:101 telephone-event/8000.

    a=fmtp:101 0-16.

    a=ptime:20.

если установлено <param name="username" value="root" />


Каталог пользователей


Чтобы разрешить пользователям регистрироваться на сервере, их данные должны быть указаны в файле conf/directory/default/*xml. Чтобы динамически определять, какие пользователи могут регистрироваться, используйте Mod xml curl


Файл конфигурации по умолчанию


Из Git


Перезагрузка


Если вы изменили файл sofia.conf.xml, существует два способа заставить FreeSWITCH использовать новые значения.

  • выключить и перезапустить FreeSWITCH (или)
  • выгрузить и загрузить mod_sofia

Если вы внесли изменения только для конкретного профиля, можете просто запустить команду (Предупреждение: будут сброшены все звонки, связанные с этим профилем):

  • sofia profile <profilename> restart reloadxml

Функции безопасности


  • SIP TLS для безопасной передачи сигнала.
  • SRTP для безопасной доставки медиа.
  • Упомянутый выше раздел Auth для настроек проверки подлинности.

 

© Внимание! Все права на перевод принадлежат фирме Гарантум. При ссылке или цитировании данной информации обязательно вставляйте ссылку