FreeSwitch sip profiles multi domain
Примеры и пояснения использования 3-х sip profiles для регистрации:
- абонентов из локальной сети.
- абонентов из публичных сетей.
- SIP gateways (транков).
vars.xml
<X-PRE-PROCESS cmd="set" data="external_ip=123.123.123.123"/> <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
Internal:Sip profile local network
файл: ../conf/sip_profiles/internal.xml
Профиль для регистрации пользователей из локальной сети, в примере - 192.168.0.0/16
- <param name="apply-inbound-acl" value="192.168.0.0/16"/>
- <param name="apply-register-acl" value="192.168.0.0/16"/>
Обратите внимание, что устройства из этих подсетей, смогут звонить (apply-inbound-acl) и регистрироваться (apply-register-acl) - без указания пароля.
- <param name="auth-calls" value="true"/>
Параметр auth-calls включает проверку ACL, т.е. разрешает использование параметров apply-inbound-acl и apply-register-acl.
<profile name="internal"> <gateways> <X-PRE-PROCESS cmd="include" data="internal/*.xml"/> </gateways> <settings> <param name="apply-inbound-acl" value="192.168.0.0/16"/> <param name="apply-register-acl" value="192.168.0.0/16"/> <param name="auth-calls" value="true"/> <param name="debug" value="1"/> <param name="sip-trace" value="no"/> <param name="dialplan" value="XML"/> <param name="context" value="default"/> <param name="codec-prefs" value="$${global_codec_prefs}"/> <param name="rtp-ip" value="$${local_ip_v4}"/> <param name="sip-ip" value="$${local_ip_v4}"/> <param name="ext-rtp-ip" value="auto-nat"/> <param name="ext-sip-ip" value="auto-nat"/> <param name="sip-port" value="5060"/> <param name="rtp-autofix-timing" value="false"/> </settings>
external: sip profile для исходящих регистраций
SIP профиль «external» используется для регистраций SIP транков.
Для этого, в примере выделен порт 5080.
Команда «include» указывает директорию, в которой будут размещены конфиги SIP транков (Gateways).
<gateways> <X-PRE-PROCESS cmd="include" data="external/*.xml"/> </gateways>
Параметр «context» определяет контекст для обработки DID входящих вызовов.
<profile name="external"> <gateways> <X-PRE-PROCESS cmd="include" data="external/*.xml"/> </gateways> <settings> <param name="auth-calls" value="false"/> <param name="debug" value="3"/> <param name="sip-trace" value="no"/> <param name="dialplan" value="XML"/> <param name="context" value="public"/> <param name="codec-prefs" value="$${global_codec_prefs}"/> <param name="rtp-ip" value="$${local_ip_v4}"/> <param name="sip-ip" value="$${local_ip_v4}"/> <param name="ext-rtp-ip" value="auto-nat"/> <param name="ext-sip-ip" value="auto-nat"/> <param name="sip-port" value="5080"/> <param name="rtp-autofix-timing" value="false"/> </settings> </profile>
external5090:SIP профиль для регистраций снаружи
SIP профиль для регистрации абонентов извне.
Параметры ext-rtp-ip и ext-sip-ip указывают на внешний IP адрес, заданный в vars.xml.
sip-port - 5090
<profile name="external5090"> <gateways> <X-PRE-PROCESS cmd="include" data="internal/*.xml"/> </gateways> <settings> <param name="auth-calls" value="false"/> <param name="debug" value="3"/> <param name="sip-trace" value="no"/> <param name="dialplan" value="XML"/> <param name="context" value="default"/> <param name="codec-prefs" value="$${global_codec_prefs}"/> <param name="rtp-ip" value="$${local_ip_v4}"/> <param name="sip-ip" value="$${local_ip_v4}"/> <param name="ext-rtp-ip" value="$${external_ip}"/> <param name="ext-sip-ip" value="$${external_ip}"/> <param name="sip-port" value="5090"/> <param name="rtp-autofix-timing" value="false"/> </settings> </profile>
gsm gateway
../external/addpac.xml
<include> <gateway name="addpac1"> <param name="username" value=""/> <param name="password" value="register:false"/> <param name="proxy" value="192.168.1.2:5060"/> <param name="expire-seconds" value="800"/> <param name="register" value="false"/> <param name="register-transport" value="udp"/> <param name="context" value="default"/> <param name="caller-id-in-from" value="false"/> </gateway> </include>
sip itsp
../sip_profiles/external/itsp.xml
<include> <gateway name="itsp"> <param name="username" value="7777777_trunk"/> <param name="realm" value="pbx.itsp.tld"/> <param name="from-user" value="7777777_trunk"/> <param name="from-domain" value="pbx.itsp.tld"/> <param name="password" value="Very_Strong_pasword)"/> <param name="proxy" value="pbx.itsp.tld"/> <param name="expire-seconds" value="3600"/> <param name="register" value="true"/> <param name="register-transport" value="udp"/> <param name="retry-seconds" value="60"/> <!--param name="ping" value="60"/--> <param name="context" value="public"/> <param name="caller-id-in-from" value="false"/> </gateway> </include>
directory for externalreg5090
Указывает на домен регистрации абонентов, которые обращаются к внешнему IP адресу.
вида: user@$${external_ip}
../directory/externalreg.xml
<include> <!--the domain or ip (the right hand side of the @ in the addr--> <domain name="$${external_ip}"> <params> <param name="dial-string" value="{^^:sip_invite_domain=${dialed_domain}:presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})},${verto_contact(${dialed_user}@${dialed_domain})}"/> </params> <variables> </variables> <groups> <group name="externalreg"> <users> <X-PRE-PROCESS cmd="include" data="externalreg/*.xml"/> </users> </group> </groups> </domain> </include>
Пользователь с регистрацией из публичной сети
../directory/externalreg/100.xml
<include> <user id="100"> <params> <param name="password" value="user_password"/> </params> <variables> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="user100"/> <variable name="effective_caller_id_number" value="100"/> </variables> </user> </include>
Пользователь с регистрацией из локальной сети
../directory/default/101.xml
<include> <user id="101"> <params> <param name="password" value="user_password"/> </params> <variables> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="user101"/> <variable name="effective_caller_id_number" value="101"/> </variables> </user> </include>