ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Входящие от gateway с авторизацией по ip и логину/паролю

Использование и настройка других открытых VoIP PBX

Модераторы: april22, Zavr2008

Входящие от gateway с авторизацией по ip и логину/паролю

Сообщение Indeec » 18 сен 2013, 17:33

Добрый день.
Кому нибудь удалось разобраться как freeswitch обрабатывает входящие вызовы от gateway?
На данный момент мне не удалось придумать ничего лучше чем разрешать входящие в apply-inbound-acl для всего sip профиля.
При этом не работают документированные фичи, такие как установка переменных для звонков пришедших от шлюза, да и проверить в диалплане с какого шлюза пришел звонок - становится сложно.
https://wiki.freeswitch.org/wiki/Clarif ... #Variables
Indeec
 
Сообщений: 7
Зарегистрирован: 24 июн 2013, 16:23

Re: Входящие от gateway с авторизацией по ip и логину/паролю

Сообщение Vlad1983 » 18 сен 2013, 17:50

профиль шлюза покажите
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Входящие от gateway с авторизацией по ip и логину/паролю

Сообщение Indeec » 18 сен 2013, 18:11

internal профиль в vanila конфиге, к примеру.
Вот выжимка баз коментариев
Код: выделить все
<profile name="internal">
  <aliases>
  </aliases>
  <gateways>
    <X-PRE-PROCESS cmd="include" data="internal/*.xml"/>
  </gateways>
  <domains>
    <domain name="all" alias="true" parse="false"/>
  </domains>
  <settings>
    <param name="debug" value="0"/>
    <param name="sip-trace" value="no"/>
    <param name="sip-capture" value="no"/>
    <param name="watchdog-enabled" value="no"/>
    <param name="watchdog-step-timeout" value="30000"/>
    <param name="watchdog-event-timeout" value="30000"/>
    <param name="log-auth-failures" value="false"/>
    <param name="forward-unsolicited-mwi-notify" value="false"/>
    <param name="rfc2833-pt" value="101"/>
    <param name="sip-port" value="$${internal_sip_port}"/>
    <param name="dialplan" value="XML"/>
    <param name="dtmf-duration" value="2000"/>
    <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
    <param name="outbound-codec-prefs" value="$${global_codec_prefs}"/>
    <param name="rtp-timer-name" value="soft"/>
    <param name="rtp-ip" value="$${local_ip_v4}"/>
    <param name="sip-ip" value="$${local_ip_v4}"/>
    <param name="hold-music" value="$${hold_music}"/>
    <param name="apply-nat-acl" value="nat.auto"/>
    <param name="apply-inbound-acl" value="domains"/>
    <param name="local-network-acl" value="localnet.auto"/>
    <param name="record-path" value="$${recordings_dir}"/>
    <param name="record-template" value="${caller_id_number}.${target_domain}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
    <param name="manage-presence" value="true"/>
    <param name="presence-hosts" value="$${domain},$${local_ip_v4}"/>
    <param name="presence-privacy" value="$${presence_privacy}"/>
    <param name="inbound-codec-negotiation" value="generous"/>
    <param name="tls" value="$${internal_ssl_enable}"/>
    <param name="tls-only" value="false"/>
    <param name="tls-bind-params" value="transport=tls"/>
    <param name="tls-sip-port" value="$${internal_tls_port}"/>
    <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
    <param name="tls-passphrase" value=""/>
    <param name="tls-verify-date" value="true"/>
    <param name="tls-verify-policy" value="none"/>
    <param name="tls-verify-depth" value="2"/>
    <param name="tls-verify-in-subjects" value=""/>
    <param name="tls-version" value="$${sip_tls_version}"/>
    <param name="inbound-late-negotiation" value="true"/>
    <param name="inbound-zrtp-passthru" value="true"/>
    <param name="nonce-ttl" value="60"/>
    <param name="auth-calls" value="$${internal_auth_calls}"/>
    <param name="inbound-reg-force-matching-username" value="true"/>
    <param name="auth-all-packets" value="false"/>
    <param name="ext-rtp-ip" value="auto-nat"/>
    <param name="ext-sip-ip" value="auto-nat"/>
    <param name="rtp-timeout-sec" value="300"/>
    <param name="rtp-hold-timeout-sec" value="1800"/>
    <param name="force-register-domain" value="$${domain}"/>
    <param name="force-subscription-domain" value="$${domain}"/>
    <param name="force-register-db-domain" value="$${domain}"/>
    <param name="challenge-realm" value="auto_from"/>
  </settings>
</profile>                                                                 
Indeec
 
Сообщений: 7
Зарегистрирован: 24 июн 2013, 16:23

Re: Входящие от gateway с авторизацией по ip и логину/паролю

Сообщение Vlad1983 » 18 сен 2013, 18:29

сам конфиг шлюза тот что в internal/
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Входящие от gateway с авторизацией по ip и логину/паролю

Сообщение Indeec » 18 сен 2013, 18:33

Вот:
Код: выделить все
<include>
  <gateway name="test">
    <param name="username" value="unused"/>
    <param name="realm" value="gatewayip"/>
    <param name="password" value="unused"/>
    <param name="register" value="false"/>
    <param name="caller-id-in-from" value="true"/>
    <param name="ping" value="25"/>
    <param name="from-domain" value="gatewayip"/>
    <variables>
       <variable name="call_direction"  value="incoming"  direction="inbound"/>
       <variable name="call_direction" value="outgoing" direction="outbound"/>
       <variable name="gateway_name"     value="test"/>
    </variables>
  </gateway>
</include>
Indeec
 
Сообщений: 7
Зарегистрирован: 24 июн 2013, 16:23

Re: Входящие от gateway с авторизацией по ip и логину/паролю

Сообщение Vlad1983 » 18 сен 2013, 19:00

<param name="register" value="false"/>
такой шлюз обычно по acl заводят

если сделаете
<param name="register" value="true"/>
в заголовке Contact запросов REGISTER увидите подстроку "gw-test"
когда она содержится во входящих INVITE (не помню в каких именно заголовках, т.к. не держу таких шлюзов), тогда FS может определить что вызов пришел именно на этот шлюз

если встречный софтсвич поддерживает обратную авторизацию заводите шлюзы через directory пример https://wiki.freeswitch.org/wiki/XML_Us ... c_Gateways
там же и проверка по IP <user id="1000" cidr="12.34.56.78/32,20.0.0.0/8"> <!--ID is the sip username. CIDR is optional -- if specified, these IPs with automatically auth to this user-->
только в этом случае и получите по "ip и логину/паролю"

можно чекать по acl в диалплане http://wiki.freeswitch.org/wiki/Acl#check_acl
обычно так и делаю, если требуется четкое разделение
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Входящие от gateway с авторизацией по ip и логину/паролю

Сообщение Indeec » 18 сен 2013, 19:16

Это всё понятно.
Тоесть всё-таки gateway в профиле применим только для исходящих звонков.
Для входящих с авторизацией по логину/паролю нужно заводить пользователя в directory. Для входящих с авторизацией по ip в apply-inbound-acl, и дальше уже в диалплане пытаться понять от куда звонок пришел.
И следовательно параметры установки переменных для входящих звонков в настройках gateway бесполезны.
Indeec
 
Сообщений: 7
Зарегистрирован: 24 июн 2013, 16:23

Re: Входящие от gateway с авторизацией по ip и логину/паролю

Сообщение Vlad1983 » 18 сен 2013, 20:50

полезны только при <param name="register" value="true"/>
и то не со всех встречных софтсвичей это нормально работает
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Входящие от gateway с авторизацией по ip и логину/паролю

Сообщение jugatsu » 19 сен 2013, 10:52

Так что надо сделать то?
jugatsu
 
Сообщений: 298
Зарегистрирован: 31 май 2011, 15:56

Re: Входящие от gateway с авторизацией по ip и логину/паролю

Сообщение Vlad1983 » 19 сен 2013, 11:13

не знаю в чем ТС вообще проблему нашел

1. мы не регаемся
  • логину/паролю - тогда directory (можно выставить индивидуальные переменные в профиле шлюза)
  • логину/паролю + IP - directory c cidr (можно выставить индивидуальные переменные в профиле шлюза)
  • IP без разбора кто, например для входящих - по acl в профиле sofia
  • IP с разбором - acl в профиле и acl в диалплане (можно выставить индивидуальные переменные, но задавать их в диалплане)
2. Мы регаемся
  • IP без разбора кто - по acl в профиле sofia
  • IP с разбором - acl в профиле и acl в диалплане или по заголовкам содержащим "gw-" (можно выставить индивидуальные переменные в профиле шлюза)
ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

След.

Вернуться в FreeSwitch, SER, Yate и другие

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH