FreeSwitch:multy-domain pbx configuration example
under construction!
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>
sip profile for outbound reg
<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="$${external_sip_port}"/><param name="rtp-autofix-timing" value="false"/></settings></profile>
sip profile for external inbound reg
<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
../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/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>