freeswitchforum.com

Форум поддержки FreeSWITCH

FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.

Текущее время: 18 апр 2024 16:58

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: FreeSWITCH+ 3E1 pri(asim ibase)
СообщениеДобавлено: 12 авг 2013 14:37 

Зарегистрирован: 11 апр 2013 21:17
Сообщения: 11
FreeSWITCH 1.3.2
dahdi - DAHDI 2.6.1+2.6.1, версия сборки 2.6.2 (parabel)
libpri - 1.4.14

конфиги Dahdi:
system.conf
Код:
# eth-tdmoe - имя интерфейса, который смотрит в плату E1
# 00:00:aa:aa:64:64 - MAC E1 интерфейса
dynamic=eth,eth-tdmoe/00:00:aa:aa:64:64/0,31,1
dynamic=eth,eth-tdmoe/00:00:aa:aa:64:64/1,31,2
dynamic=eth,eth-tdmoe/00:00:aa:aa:64:64/2,31,3
dynamic=eth,eth-tdmoe/00:00:aa:aa:64:64/3,31,4

bchan=1-15,17-31
dchan=16
bchan=32-46,48-62
dchan=47
bchan=63-77,79-93
dchan=78
bchan=94-108,110-124
dchan=109

alaw=1-15,17-31,32-46,48-62,63-77,79-93,94-108,110-124
loadzone=ru
defaultzone=ru
echocanceller=oslec,1-15,17-31,32-46,48-62,63-77,79-93,94-108,110-124


modules
Код:
# Contains the list of modules to be loaded / unloaded by /etc/init.d/dahdi.
#
# NOTE:  Please add/edit /etc/modprobe.d/dahdi or /etc/modprobe.conf if you
#        would like to add any module parameters.
#
# Format of this file: list of modules, each in its own line.
# Anything after a '#' is ignore, likewise trailing and leading
# whitespaces and empty lines.

# Digium TE205P/TE207P/TE210P/TE212P: PCI dual-port T1/E1/J1
# Digium TE405P/TE407P/TE410P/TE412P: PCI quad-port T1/E1/J1
# Digium TE220: PCI-Express dual-port T1/E1/J1
# Digium TE420: PCI-Express quad-port T1/E1/J1
#wct4xxp

# Digium TE120P: PCI single-port T1/E1/J1
# Digium TE121: PCI-Express single-port T1/E1/J1
# Digium TE122: PCI single-port T1/E1/J1
#wcte12xp

# Digium T100P: PCI single-port T1
# Digium E100P: PCI single-port E1
#wct1xxp

# Digium TE110P: PCI single-port T1/E1/J1
#wcte11xp

# Digium TDM2400P/AEX2400: up to 24 analog ports
# Digium TDM800P/AEX800: up to 8 analog ports
# Digium TDM410P/AEX410: up to 4 analog ports
#wctdm24xxp

# X100P - Single port FXO interface
# X101P - Single port FXO interface
#wcfxo

# Digium TDM400P: up to 4 analog ports
#wctdm

# Digium B410P: 4 NT/TE BRI ports
#wcb4xxp

# Digium TC400B: G729 / G723 Transcoding Engine
#wctc4xxp

# Xorcom Astribank Devices
#xpp_usb


конфиги фрисвича: (собирать фритдм с параметром указывающим использование libpri)

freetdm.conf
Код:
[general]
cpu_monitor => no
cpu_monitoring_interval => 1000
cpu_set_alarm_threshold => 80
cpu_reset_alarm_threshold => 70
cpu_alarm_action => warn

; MFC-R2 with Zaptel/DAHDI
[span zt pri1]
trunk_type => E1
trunk_mode => CPE
b-channel => 1-15
d-channel => 16
b-channel => 17-31

[span zt pri2]
trunk_type => E1
trunk_mode => NET
b-channel => 32-46
d-channel => 47
b-channel => 48-62

[span zt pri3]
trunk_type => E1
trunk_mode => NET
b-channel => 63-77
d-channel => 78
b-channel => 79-93

zt.conf (изменен параметр echo_cancel_level для удаления эха)
Код:
[defaults]
codec_ms => 20
wink_ms => 150
flash_ms => 750
echo_cancel_level => 128
rxgain => 0.0
txgain => 0.0


freetdm.conf.xml

GNU nano 2.2.6 Файл: /usr/local/freeswitch/conf/autoload_configs/freetdm.conf.xml
Код:
<configuration name="freetdm.conf" description="FreeTDM Configuration">

        <settings>
                <param name="debug" value="0"/>
        </settings>

    <libpri_spans>
        <span name="pri1">
            <param name="node" value="cpe"/>
            <param name="switch" value="euroisdn"/>
            <param name="l1" value="alaw"/>
            <param name="dp" value="international"/>
            <param name="dialplan" value="XML"/>
            <param name="context" value="e1_trunk"/>
        </span>
        <span name="pri2">
            <param name="node" value="net"/>
            <param name="switch" value="euroisdn"/>
            <param name="l1" value="alaw"/>
            <param name="dp" value="international"/>
            <param name="dialplan" value="XML"/>
            <param name="context" value="e1_trunk"/>
        </span>
        <span name="pri3">
            <param name="node" value="net"/>
            <param name="switch" value="euroisdn"/>
            <param name="l1" value="alaw"/>
            <param name="dp" value="international"/>
            <param name="dialplan" value="XML"/>
            <param name="context" value="e1_trunk"/>
        </span>
    </libpri_spans>
</configuration>


теперь маршрутизация:
Код:
/usr/local/freeswitch/conf/dialplan/default.xml 

<?xml version="1.0" encoding="utf-8"?>
<include>
  <context name="default">

    <extension name="to_you route name1">
      <condition field="${lua is_in_local_zone.lua ${destination_number} you route name1}" expression="true">
        <action application="set" data="ringback=$${ru-ring}"/>
        <action application="ring_ready"/>
        <action application="bridge" data="freetdm/pri3/a/${destination_number}"/>
      </condition>
    </extension>

    <extension name="to_you route name2">
      <condition field="${lua is_in_local_zone.lua ${destination_number}to_you route name2}" expression="true">
        <action application="set" data="ringback=$${ru-ring}"/>
        <action application="ring_ready"/>
        <action application="bridge" data="freetdm/pri2/a/${destination_number}"/>
      </condition>
    </extension>

    <extension name="to_localsip">
      <condition field="${user_exists(id ${destination_number} $${domain})}" expression="true">
        <action application="set" data="ringback=$${ru-ring}"/>
        <action application="ring_ready"/>
        <action application="bridge" data="user/${destination_number}"/>
      </condition>
    </extension>

    <extension name="to_free_numbers">
      <condition field="${lua is_in_local_zone.lua ${destination_number} freenums}" expression="true">
        <action application="set" data="ringback=$${ru-ring}"/>
        <action application="ring_ready"/>
        <action application="bridge" data="user/538081"/>
      </condition>
    </extension>

    <extension name="to_city">
      <condition field="destination_number" expression="^(\d{2,})$">
        <action application="set" data="ringback=$${ru-ring}"/>
        <action application="ring_ready"/>
        <action application="bridge" data="freetdm/pri1/a/$1"/>
      </condition>
    </extension>

  </context>

  <context name="e1_trunk">

    <extension name="to_you route name1">
      <condition field="${lua is_in_local_zone.lua ${destination_number}you route name1}" expression="true">
        <action application="set" data="ringback=$${ru-ring}"/>
        <action application="ring_ready"/>
        <action application="bridge" data="freetdm/pri3/a/${destination_number}"/>
      </condition>
    </extension>

    <extension name="to_you route name2">
      <condition field="${lua is_in_local_zone.lua ${destination_number} you route name2}" expression="true">
        <action application="set" data="ringback=$${ru-ring}"/>
        <action application="ring_ready"/>
        <action application="bridge" data="freetdm/pri2/a/${destination_number}"/>
      </condition>
    </extension>

    <extension name="to_localsip">
      <condition field="${user_exists(id ${destination_number} $${domain})}" expression="true">
        <action application="set" data="ringback=$${ru-ring}"/>
        <action application="ring_ready"/>
        <action application="bridge" data="user/${destination_number}"/>
      </condition>
    </extension>

    <extension name="to_free_numbers">
      <condition field="${lua is_in_local_zone.lua ${destination_number} freenums}" expression="true">
        <action application="set" data="ringback=$${ru-ring}"/>
        <action application="ring_ready"/>
        <action application="bridge" data="user/номер на который сливается свободная ёмкость"/>
      </condition>
    </extension>

    <extension name="to_city">
      <condition field="destination_number" expression="^(\d{2,})$">
        <action application="set" data="ringback=$${ru-ring}"/>
        <action application="ring_ready"/>
        <action application="bridge" data="freetdm/pri1/a/$1"/>
      </condition>
    </extension>

  </context>
</include>


текст скрипта:
Код:

--  *** script finds number in zone file ***
--  call: lua is_in_local_zone.lua <number> <local_zone_name>
--  params:
--      <number>            - 6-digit phone number
--      <local_zone_name>   - zone name to check number existence (without ".txt" extension)
--  zone file format:
--          csv with 6-digit numbers in each row, called <zone_name>.txt
--
local destination_number = argv[1];
local local_zone = argv[2];

freeswitch.consoleLog("INFO","[LOCAL ZONE CHECKER SCRIPT] DESTINATION: " .. destination_number .. "\n");
freeswitch.consoleLog("INFO","[LOCAL ZONE CHECKER SCRIPT] LOCAL ZONE: " .. local_zone .. "\n");

local numbers_filename = "/usr/local/freeswitch/scripts/" .. local_zone .. ".txt";

local numbers_file = io.open(numbers_filename, "r");

reply = "false";

if numbers_file then
    for number in numbers_file:lines() do
        if number == destination_number then
            freeswitch.consoleLog("INFO","[LOCAL ZONE CHECKER SCRIPT] NUMBER FOUNDED IN FILE\n");
            numbers_file:close();
            reply = "true";
            break;
        end
    end
else
    freeswitch.consoleLog("ERR","[LOCAL ZONE CHECKER SCRIPT] NUMBERS FILE NOT FOUNDED\n");
end

if reply == "false" then
    freeswitch.consoleLog("INFO","[LOCAL ZONE CHECKER SCRIPT] NUMBER NOT FOUNDED IN FILE\n");
end
stream:write(reply);


Таким образом получаем атс которая одним потоком смотрит в город, другими двумя в сторону 2-х выносов. часть емкости оставляет на сипе.
есть еще один косяк. нужно поправит КПВ при вызове.
поправим напишу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FreeSWITCH+ 3E1 pri(asim ibase)
СообщениеДобавлено: 14 авг 2013 11:58 

Зарегистрирован: 14 дек 2012 16:31
Сообщения: 86
Откуда: default/city
Не знаю куда написать. Оставлю здесь.

Карты Sangoma не работают под 64-битной виндой, драйверов нет, а существующие под х86 не запускаются =(
Диджиум вообще не работает под виндой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FreeSWITCH+ 3E1 pri(asim ibase)
СообщениеДобавлено: 14 авг 2013 12:24 
FreeSWITCH_GuRu

Зарегистрирован: 22 авг 2012 09:52
Сообщения: 1710
покупайте цифровой шлюх
карты - ещё тот изврат
про карты под форточкой вообще молчу

_________________
ЛС: @rostel
Сообщество: @ru_freeswitch


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FreeSWITCH+ 3E1 pri(asim ibase)
СообщениеДобавлено: 14 авг 2013 12:29 

Зарегистрирован: 14 дек 2012 16:31
Сообщения: 86
Откуда: default/city
Vlad1983 писал(а):
покупайте цифровой шлюх
карты - ещё тот изврат
про карты под форточкой вообще молчу


Под линуксом довольно стабильно диджиум работал. Под WIN как понял теперь оптимальнее шлюз использовать.
Может пригодится кому такая инфа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FreeSWITCH+ 3E1 pri(asim ibase)
СообщениеДобавлено: 16 авг 2013 10:44 

Зарегистрирован: 11 апр 2013 21:17
Сообщения: 11
winda ЗЛО!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB