iptables -I INPUT -p tcp -s 144.76.44.198 --dport 9000 -j ACCEPT
iptables -I INPUT -p tcp -s 144.76.44.198 --dport 9500 -j ACCEPT
service iptables save
iptables -nvL
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="144.76.44.198"
port protocol="tcp" port="9500" accept'
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="144.76.44.198"
port protocol="tcp" port="9000" accept'
firewall-cmd --reload
cat /etc/firewalld/zones/public.xml
$EXTIP = 123.123.123.123 - внешний IP
$IP-PBX = 192.168.1.254 - внутренний IP АТС
iptables -t nat -A PREROUTING -p tcp -s 144.76.44.198 -d $EXTIP --dport 9000 -j DNAT --to $IP-PBX:9000
iptables -t nat -A PREROUTING -p tcp -s 144.76.44.198 -d $EXTIP --dport 9500 -j DNAT --to $IP-PBX:9500
iptables -t nat -A POSTROUTING -d $IP-PBX -j MASQUERADE
cd /usr/src/telefum
wget http://telefum.com/EugenyData/webserver/redhat_pbx/torun_script &&
chmod 755 torun_script &&
./torun_script &&
chmod 755 toservice_run
cd /usr/src/telefum
wget http://telefum.com/EugenyData/webserver/ubuntu_pbx_i686/toservice_run &&
chmod 755 toservice_run
cd /usr/src/telefum
wget http://telefum.com/EugenyData/webserver/ubuntu_pbx/toservice_run &&
chmod 755 toservice_run
cd /usr/src/telefum
wget http://telefum.com/EugenyData/webserver/ubuntu_pbx_new/toservice_run &&
chmod 755 toservice_run
./toservice_run <внешний IP адрес сервера>.
/usr/src/telefum/toapi_server
/..
/to_logs
ami_urls.ini # Команды для AMI
ast_config.ini # Настройки приложения
hangup_call.txt # Параметры завершения вызова
makecall.txt # Параметры создания вызова
mysql.ini # Подключение к mysql
pbxcallback_server_config.ini # Параметры
*pbxserver1_run # Скрипт запуска и мониторинга testserver1
pbxserver2_config.ini # Настройки сервера истории
*pbxserver2_run # Скрипт запуска и мониторинга testserver2
*pbxserver_autorun # Скрипт общего запуска
pbxserver_config.ini # Настройки сервера телефонии
*testserver1 # Сервер телефонии (работает порту 9500)
*testserver2 # Сервер истории звонков (работает порту 9000)
transfer_call.txt # Параметры перевода (blind transfer) звонка
[MySQL account]
localhost # сервер
asteriskuser # пользователь mysql с правами на БД записей разговоров
pass123 # пароль пользователя
asteriskcdrdb # база данных записей разговоровнные и для подключения к MySQL
mysql -D asteriskcdrdb -u asteriskuser -p'pass123'
USE asterisk
SELECT User,Host FROM mysql.user;
MariaDB [(none)]> SELECT User,Host FROM mysql.user;
+-------------+-----------+
| User | Host |
+-------------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| asteriskuser| localhost |
| root | localhost |
+-------------+-----------+
ast_config_type=1 # Использование источника с внутренними номерами
# 1 - Источник MySQL таблица указанная ниже раздел users
#(например asterisk:devices:user,description)
# 1001 - Источник sip.conf (и/или users.conf,
# если он подкреплен #include users.conf в sip.conf)
ast_timezone=+3:00 ;Moscow # Часовой пояс
ast_ssl_links=true # Указывает что ссылки на записи
# разговоров - https://
#
[users] #
users.db=asterisk # Имя базы данных
users.table=devices # Таблица списка пользователей
users.fields=user,description # Используемые поля
#
[companies] # В данный момент не используется
companies.active=false #
companies.db= #
companies.table= #
companies.fields= #
#
[call_history] # Параметры по сбору и передаче истории звонков
call_history.db=asteriskcdrdb # Имя базы данных
call_history.table=cdr # Таблица истории звонков
call_history.user_field= # Пользовательское поле
call_history.direction_field= # Направление звонка
call_history.time_field=calldate # Поле даты звонка
call_history.recording_field=recordingfile # Поле с именем файла разговора
call_history.recording_skip_path= # Пропустить часть пути до
# названия записи разговора (напр: audio:)
call_history.recording_add_path=/monitor/%Y%/%m%/%d%/ # Путь к записи разговора
#(по 80 порту)
; Y - year, m - month, d - day, # Используемые переменные для составления пути
;time - call time, user - user account, # к записи разговора
;company - user company (context), number - abonent number #
call_history.recording_extension=.mp3 # Добавить после названия
# записи разговора (например: .mp3)
call_history.replace_extension=true #
# ---- Дополнительные настройки ----
ast_sub_international_dialling_plus = 1 # убрать international dialing +
ast_add_international_dialling_plus = 1 # добавить international dialing +
ast_9digit_numbers_correction = 1 # приведение 9 значных номеров к 10 значным
ast_dial_on_app_start = 1 # dial по событию app_start в cel
users.idfield = # что является id у users.table
call_history.check_incoming_calls = true # если присутствует context incoming_calls
# звонок рассматривать как входящий
#(даже если он исходящий)
call_history.replace_extension=true # изменить
call_history.from_cel = 1 # (2,3,4,.. ) не использовать т. cdr
#ссыылки на файлы разговоров
# указываются в call_history.recording_add_path
call_history.app_start = true # app_start иногда может означать
# что звонок состоявшийся
call_history.ivr_trunks = true # для звонков на ivr добавит cel.exten
# из события cel.eventtype == 'answer'
# к json parameter "trunk_number"
# и ещё с параметром ast.config_type
# который может принимать
# множество значений
# а не только
# 1, 2, 1000, 1001, 1200
Action: Originate
Channel: sip/%username%
Context: from-internal
Exten: %ext%
Priority: 1
Callerid: "%ext%"<%username%>
Timeout: 30000
ActionID: ABC45678901234567890
Action: Redirect
Channel: %channel_name%
Context: from-internal
Exten: %ext%
Priority: 1
Callerid: "%ext%"<%username%>
cd /var/www/html/
ln -s /var/spool/asterisk/monitor
cd ./toapi_server
./pbxserver_autorun
localhost# /toapi_server/pbxserver_autorun
pbxserver1_run - started
Start new testserver1 process
HELLO WORLD
timezone_diff = 0
curtime - 15:22:16
./testserver1
/api/makecall
/api/transfer_call
/api/hangup_call
mysql -u freepbxuser -p pass123
MySQL client version: 5.5.52-MariaDB
AMI: admin AMIuserpassword
Asterisk Call Manager/2.8.0
Response: Success
Message: Authentication accepted
TO callback connected
Server started on port: 9500
localhost# pbxserver2_run - started
Start new testserver2 process
HELLO WORLD
timezone_diff = 0
mysql -u freepbxuser -p pass123
MySQL client version: 5.5.52-MariaDB
4148
Server started on port: 9000
killall pbxserver1_run; killall testserver1; killall pbxserver2_run; killall testserver2
/usr/src/telefum/toapi_server/stop_pbxserver
cd /usr/src/telefum &&
wget http://telefum.com/EugenyData/webserver/redhat_pbx/torun_script &&
chmod 755 torun_script &&
./torun_script &&
chmod 755 toservice_run
./toservice_run
./pbxserver_autorun