Перевод настроек файла 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
Файл конфигурации по умолчанию
Перезагрузка
Если вы изменили файл sofia.conf.xml, существует два способа заставить FreeSWITCH использовать новые значения.
- выключить и перезапустить FreeSWITCH (или)
- выгрузить и загрузить mod_sofia
Если вы внесли изменения только для конкретного профиля, можете просто запустить команду (Предупреждение: будут сброшены все звонки, связанные с этим профилем):
sofia profile <profilename> restart reloadxml
Функции безопасности
- SIP TLS для безопасной передачи сигнала.
- SRTP для безопасной доставки медиа.
- Упомянутый выше раздел Auth для настроек проверки подлинности.
© Внимание! Все права на перевод принадлежат фирме Гарантум. При ссылке или цитировании данной информации обязательно вставляйте ссылку