Skip to main content

FreeSWITCH

Настройки для подключения выделяются в следующем формате

SIP-сервер: sip.tech4u.pro
Порт: 5060
Кодеки: G711a, G711u
  
Формат набора: National
  
Аккаунт: 777
Пароль: ****

1. Создаем файл /etc/freeswitch/sip_profiles/external/tech4u.xml

<include>
    <gateway name="tech4u">
        <param name="username" value="777"/>
        <param name="password" value="****"/>
        <param name="realm" value="sip.tech4u.pro"/>
        <param name="from-user" value="777"/>
        <param name="from-domain" value="sip.tech4u.pro"/>
        <param name="proxy" value="sip.tech4u.pro"/>
        <param name="expire-seconds" value="300"/>
        <param name="register" value="true"/>
        <param name="register-transport" value="udp"/>
        <param name="context" value="tech4u"/>
    </gateway>
</include>

2. После этого в консоли freeswitch (fs_cli) выполняем команду

sofia profile external rescan

3. Создаём файл с настройками диалплана /etc/freeswitch/dialplan/tech4u.xml

<?xml version="1.0" encoding="UTF-8"?>
<include>
<context name="tech4u">
<extension name="unloop">
    <condition field="$${unroll_loops}" expression="^true$" />
    <condition field="${sip_looped_call}" expression="^true$">
    <action application="deflect" data="${destination_number}" />
    </condition>
</extension>
<extension name="in-tech4u">
    <condition field="destination_number" expression="^(777)$">
    <action application="bridge" data="user/2000@$${domain}"/>
    <action application="hangup"/>
    </condition>
</extension>
 <extension name="out-tech4u">
    <condition field="destination_number" expression="^(8\d{9,14})$">
    <action application="bridge" data="sofia/gateway/tech4u/$1"/>
    <action application="hangup"/>
    </condition>
</extension>
<extension name="local">
    <condition field="destination_number" expression="^\d{4}$">
    <action application="answer" />
    <action application="sleep" data="1000" />
    <action application="bridge" data="user/${destination_number}@$${domain}" />
    <action application="hangup" />
    </condition>
</extension>
</context>
</include>

4. Создаем в Freeswitch внутренний номер 2000 к которому будет подключаться софтфон/ip-телефон для приема входящих и совершения исходящих звонков. Создаем файл /etc/freeswitch/directory/default/2000.xml

<include>
  <user id="2000">
    <params>
      <param name="password" value="password"/>
      <param name="vm-password" value="2000"/>
    </params>
    <variables>
      <variable name="toll_allow" value="domestic,international,local"/>
      <variable name="accountcode" value="2000"/>
      <variable name="user_context" value="tech4u"/>
      <variable name="effective_caller_id_name" value="Extension 2000"/>
      <variable name="effective_caller_id_number" value="2000"/>
      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
      <variable name="callgroup" value="techsupport"/>
    </variables>
  </user>
</include>

5. После создания файлов с настройками диалплана и внутреннего номера выполняем в консоли (fs_cli) команду

reload xml

6. Проверить регистрацию можно выполнив команду

sofia status gateway tech4u