Конфиги:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: root@aster:/etc/iptables# iptables -L -n --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 f2b-asterisk-udp udp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 5060,5061,5062
2 f2b-asterisk-tcp tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 5060,5061,5062
3 f2b-sshd tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 22
4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
8 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:69
9 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5060
10 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5061
11 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5062
12 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5060
13 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5061
14 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5062
15 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpts20000
16 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4569
17 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5038
18 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5070
19 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5070
Chain FORWARD (policy DROP)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain f2b-asterisk-tcp (1 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Chain f2b-asterisk-udp (1 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Chain f2b-sshd (1 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
num target prot opt source destination
1 f2b-asterisk-udp udp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 5060,5061,5062
2 f2b-asterisk-tcp tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 5060,5061,5062
3 f2b-sshd tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 22
4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
8 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:69
9 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5060
10 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5061
11 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5062
12 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5060
13 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5061
14 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5062
15 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpts20000
16 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4569
17 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5038
18 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5070
19 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5070
Chain FORWARD (policy DROP)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain f2b-asterisk-tcp (1 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Chain f2b-asterisk-udp (1 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Chain f2b-sshd (1 references)
num target prot opt source destination
1 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Asterisk 13.18.4 built by root @ aster on a x86_64 running Linux on
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: sip.conf
[general]
language=ru
context=default ;контекст по умолчанию, он будет пустой
allowguest=no ;запрет гостевых вызовов
allowoverlap=no ;автоматический донабор запрещен
alwaysauthreject=yes ;Безопасности ради на любой неверный запрос отвечаем одинаково
useragent=SagaOffice ;Так представл¤емс¤ на уровне SIP-протокола
defaultexpiry=120 ;заставляем клиентов подтверждать свою регистрацию раз в 2 минуты
limitonpeer=yes ;считаем исход¤щие и вход¤щие вызовы для ограничения количества одновременных вызовов для клиента/абонента.
tcpenable=yes ;разрешаем TCP протокол для SIP.
bindport=5060 ;порт SIP по умолчанию.
bindaddr=0.0.0.0 ;На каком адресе слушаем. В данном случае на всех.
tcpenable=yes
;tcpbindaddr=0.0.0.0
;tcpbindport=5070
srvlookup=yes ;Позволяет звонить по именам днс
sendrpid=yes ;ОТправлять или нет Remote-Party-ID header: (проброс caller id звонящего к конечному через меню и переадресацию)
;кодеки по умолчанию для всех
disallow=all ;сначала запрещаем все
allow=alaw ;потом разрешаем нужные
allow=ulaw
relaxdtmf=yes
dtmfmode=rfc2833 ;режим передачи DTMF (Dual-Tone Multi-Frequency) - "писк", соответствующий нажатой цифре
tpholdtimeout=300 ;завершаем вызов через 300 секунд, если нет активности по RTP протоколу в режиме удержания линии (hold)
rtpkeepalive=5 ;как часто сервер должен посылать сообщения проверки активности установленного соединения для поддержания NAT открытым
canreinvite=no ;все вызовы проходят через нашу станцию, запрещено пр¤мое соединение
;externip=вне.шн.ий.ip:5070 ;указываем наш внешний IP. требуется, если asterisk живет за NAT.
;localnet=10.0.0.0/8 ;указывает какие ип локальные и для них ненужно применять трансляцию
;задаем [шаблон](!) для номеров по дефолту, далее что бы подсосать из шаблона пишем [номер](имя шаблона)
[internal](!)
type=friend ;разрешаем двухстороннюю связь
directmedia=no ;направлять медиа поток (RTP трафик) через сервер или напрямую между каналами (пирами).
context=context ;контекст по умолчанию для внутренних по умолчанию
fromdomain=<10.0.10.15> ;адрес сервера Астериск
host=dynamic ;адрес определ¤ется регистрацией
call-limit=2 ;одновременных звонков - 1. если больше - отдавать "занято", по умолчанию на ip-телефоне 2 линии.
qualify=yes ;проверять связь до клиента
disallow=all ;запрещаем все кодеки
allow=alaw ;разрешаем кодек alaw (g711a)
allow=ulaw ;разрешаем кодек ulaw
qualify=yes ;проверка качества соединения с клиентом
canreinvite=no
nat=no ;клиент может быть за NAT, если за NAT есть клиенты, включаем yes
dtmfmode=auto ;стандарт передачи тональных звуков dtmf режим (auto|inband|info|rfc2833)
deny=0.0.0.0/0.0.0.0 ;запрещено подключаться со всех сетей
permit=10.0.0.0/255.0.0.0 ;разрешено подключаться с разрешенных сетей
;subscribemwi = yes ;Отсылает оповещение о почте, если телефон подписан на них (???????)
allowsubscribe=yes
callcounter=yes
subscribecontext=BLF
[external](!)
type=friend ;разрешаем двухстороннюю связь
context=context ;контекст по умолчанию для внутренних по умолчанию
fromdomain=<10.0.10.15> ;адрес сервера Астериск
host=dynamic ;адрес определ¤ется регистрацией
call-limit=2 ;одновременных звонков - 1. если больше - отдавать "занято", по умолчанию на ip-телефоне 2 линии.
qualify=300 ;проверять связь до клиента
disallow=all ;запрещаем все кодеки
allow=alaw ;разрешаем кодек alaw (g711a)
allow=ulaw ;разрешаем кодек ulaw
canreinvite=no
nat=force_rport,comedia ;клиент может быть за NAT, если за NAT есть клиенты, включаем yes
directmedia=yes
dtmfmode=auto ;стандарт передачи тональных звуков dtmf режим (auto|inband|info|rfc2833)
permit=0.0.0.0/0.0.0.0 ;разрешено подключаться с разрешенных сетей
;subscribemwi = yes ;Отсылает оповещение о почте, если телефон подписан на них (???????)
allowsubscribe=yes
callcounter=yes
subscribecontext=BLF
;создаем внутренние номера по шаблону, дописываем только пароль
[104](external) secret=secret
language=ru
context=default ;контекст по умолчанию, он будет пустой
allowguest=no ;запрет гостевых вызовов
allowoverlap=no ;автоматический донабор запрещен
alwaysauthreject=yes ;Безопасности ради на любой неверный запрос отвечаем одинаково
useragent=SagaOffice ;Так представл¤емс¤ на уровне SIP-протокола
defaultexpiry=120 ;заставляем клиентов подтверждать свою регистрацию раз в 2 минуты
limitonpeer=yes ;считаем исход¤щие и вход¤щие вызовы для ограничения количества одновременных вызовов для клиента/абонента.
tcpenable=yes ;разрешаем TCP протокол для SIP.
bindport=5060 ;порт SIP по умолчанию.
bindaddr=0.0.0.0 ;На каком адресе слушаем. В данном случае на всех.
tcpenable=yes
;tcpbindaddr=0.0.0.0
;tcpbindport=5070
srvlookup=yes ;Позволяет звонить по именам днс
sendrpid=yes ;ОТправлять или нет Remote-Party-ID header: (проброс caller id звонящего к конечному через меню и переадресацию)
;кодеки по умолчанию для всех
disallow=all ;сначала запрещаем все
allow=alaw ;потом разрешаем нужные
allow=ulaw
relaxdtmf=yes
dtmfmode=rfc2833 ;режим передачи DTMF (Dual-Tone Multi-Frequency) - "писк", соответствующий нажатой цифре
tpholdtimeout=300 ;завершаем вызов через 300 секунд, если нет активности по RTP протоколу в режиме удержания линии (hold)
rtpkeepalive=5 ;как часто сервер должен посылать сообщения проверки активности установленного соединения для поддержания NAT открытым
canreinvite=no ;все вызовы проходят через нашу станцию, запрещено пр¤мое соединение
;externip=вне.шн.ий.ip:5070 ;указываем наш внешний IP. требуется, если asterisk живет за NAT.
;localnet=10.0.0.0/8 ;указывает какие ип локальные и для них ненужно применять трансляцию
;задаем [шаблон](!) для номеров по дефолту, далее что бы подсосать из шаблона пишем [номер](имя шаблона)
[internal](!)
type=friend ;разрешаем двухстороннюю связь
directmedia=no ;направлять медиа поток (RTP трафик) через сервер или напрямую между каналами (пирами).
context=context ;контекст по умолчанию для внутренних по умолчанию
fromdomain=<10.0.10.15> ;адрес сервера Астериск
host=dynamic ;адрес определ¤ется регистрацией
call-limit=2 ;одновременных звонков - 1. если больше - отдавать "занято", по умолчанию на ip-телефоне 2 линии.
qualify=yes ;проверять связь до клиента
disallow=all ;запрещаем все кодеки
allow=alaw ;разрешаем кодек alaw (g711a)
allow=ulaw ;разрешаем кодек ulaw
qualify=yes ;проверка качества соединения с клиентом
canreinvite=no
nat=no ;клиент может быть за NAT, если за NAT есть клиенты, включаем yes
dtmfmode=auto ;стандарт передачи тональных звуков dtmf режим (auto|inband|info|rfc2833)
deny=0.0.0.0/0.0.0.0 ;запрещено подключаться со всех сетей
permit=10.0.0.0/255.0.0.0 ;разрешено подключаться с разрешенных сетей
;subscribemwi = yes ;Отсылает оповещение о почте, если телефон подписан на них (???????)
allowsubscribe=yes
callcounter=yes
subscribecontext=BLF
[external](!)
type=friend ;разрешаем двухстороннюю связь
context=context ;контекст по умолчанию для внутренних по умолчанию
fromdomain=<10.0.10.15> ;адрес сервера Астериск
host=dynamic ;адрес определ¤ется регистрацией
call-limit=2 ;одновременных звонков - 1. если больше - отдавать "занято", по умолчанию на ip-телефоне 2 линии.
qualify=300 ;проверять связь до клиента
disallow=all ;запрещаем все кодеки
allow=alaw ;разрешаем кодек alaw (g711a)
allow=ulaw ;разрешаем кодек ulaw
canreinvite=no
nat=force_rport,comedia ;клиент может быть за NAT, если за NAT есть клиенты, включаем yes
directmedia=yes
dtmfmode=auto ;стандарт передачи тональных звуков dtmf режим (auto|inband|info|rfc2833)
permit=0.0.0.0/0.0.0.0 ;разрешено подключаться с разрешенных сетей
;subscribemwi = yes ;Отсылает оповещение о почте, если телефон подписан на них (???????)
allowsubscribe=yes
callcounter=yes
subscribecontext=BLF
;создаем внутренние номера по шаблону, дописываем только пароль
[104](external) secret=secret
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: mikrotik
ip firewall nat print
20 ;;; SIP NAT
chain=dstnat action=dst-nat to-addresses=10.0.10.15 to-ports=5070 protocol=tcp in-interface-list=WAN dst-port=5070 log=yes log-prefix=""
21 chain=dstnat action=dst-nat to-addresses=10.0.10.15 to-ports=10000-20000 protocol=udp in-interface-list=WAN dst-port=10000-20000 log=yes log-prefix=""
22 X chain=dstnat action=dst-nat to-addresses=10.0.10.15 to-ports=5160 protocol=udp in-interface-list=WAN dst-port=5160 log=yes log-prefix=""
ip firewall service-port print
4 XI sip 5060 5061 (отключен)
ip firewall filter print
1 ;;; SIP
chain=forward action=accept protocol=tcp in-interface-list=WAN dst-port=5070 log=no log-prefix=""
20 ;;; SIP NAT
chain=dstnat action=dst-nat to-addresses=10.0.10.15 to-ports=5070 protocol=tcp in-interface-list=WAN dst-port=5070 log=yes log-prefix=""
21 chain=dstnat action=dst-nat to-addresses=10.0.10.15 to-ports=10000-20000 protocol=udp in-interface-list=WAN dst-port=10000-20000 log=yes log-prefix=""
22 X chain=dstnat action=dst-nat to-addresses=10.0.10.15 to-ports=5160 protocol=udp in-interface-list=WAN dst-port=5160 log=yes log-prefix=""
ip firewall service-port print
4 XI sip 5060 5061 (отключен)
ip firewall filter print
1 ;;; SIP
chain=forward action=accept protocol=tcp in-interface-list=WAN dst-port=5070 log=no log-prefix=""
rtpstart=10000
rtpend=20000
клиент для тестов -- CSipSimple. указываю tcp и не указываю, по 5060 работало без указания tcp, по 5070 не регистрируется пир
https://galaxydata.ru/community/sip-fre ... hiysya-804
по этой статье работало (но не все), но 5060 и 5160 негоже выставлять в интернет, соответсвенно порт надо изменить на другой.
если я раскомментирую
;externip=вне.шн.ий.ip:5070
;localnet=10.0.0.0/8
далее смотрю какие порты слушаются, 5070 нигде не светится, значит не правильная строка, хотя при sip reload ошибок не выдает.
эти строки так же 5070 не открывают.
;tcpbindaddr=0.0.0.0
;tcpbindport=5070
посмотрите пожалуйста, что я делаю не так, как сказать астериск что он должен слушать дополнительный порт, на который я делаю проброс извне, и что бы телефоны можно было подключать извне, при этом телефоны в локальной сети так же весело работали. мануалов много, но собрать в рабочую конструкцию не выходит никак.
Спасибо.