Здравствуйте, Знаю что тема заезжена до невозможности, но просто мыслей уже нет. В первые 30 секунд рвется звонок, в логах ошибка: chan_sip.c: Retransmission timeout reached on transmission hm6EESYOLhFeoM2zIWLFZ-D.Nrs9nJc3 for seqno 31140 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions Packet timed out after 6400ms with no response
В sip.conf следующее:
allowguest=no
language=ru
alwaysauthreject=yes
localnet=172.17.10.0/255.255.254.0
externaddr=79.XXX.XXX.XXX
nat=force_rport,comedia
canreinvite=no
media_address=79.XXX.XXX.XXX
directrtpsetup=no
qualify=yes
directmedia=no
У пользователя (внешнего):
[5160]
deny=0.0.0.0/0.0.0.0
disallow=all
secret=secret
dtmfmode=rfc2833
canreinvite=no
context=from-internal
host=dynamic
type=friend
nat=force_rport,comedia
port=5060
qualify=yes
callgroup=
pickupgroup=
allow=g729
allow=alaw
dial=SIP/5160
mailbox=5160@device
permit=0.0.0.0/0.0.0.0
callerid=device <5160>
callcounter=yes
faxdetect=no
в качестве шлюза - отдельная машина Centos. конфиг фаирвола:
$NAT -A PREROUTING -p udp --dport 55000:65000 -j DNAT --to 172.17.10.40
$IPF -A FORWARD -i $WAN1_IF -o $LAN_IF -d 172.17.10.40 -p udp --dport 55000:65000 -j ACCEPT
$NAT -A POSTROUTING -p udp --dst 172.17.10.40 --dport 55000:65000 -j SNAT --to 172.17.10.1
$NAT -A PREROUTING -p udp --dport 5060 -j DNAT --to 172.17.10.40:5060
$IPF -A FORWARD -i $WAN1_IF -o $LAN_IF -d 172.17.10.40 -p udp --dport 5060 -j ACCEPT
$NAT -A POSTROUTING -p udp --dst 172.17.10.40 --dport 5060 -j SNAT --to 172.17.10.1
rtp.conf
; RTP Configuration
;
[general]
;
; RTP start and RTP end configure start and end addresses
; These are the addresses where your system will RECEIVE audio and video streams.
; If you have connections across a firewall, make sure that these are open.
;
rtpstart=55000
rtpend=65000
;strictrtp=no
версия астера здесь не при чем, читайте и анализируйте дамп звонка, в частности содержимое sdp в процессе установки связи - какие порты должны быть открыты.. Обычно диапазон rtp для устройств - 10 - 40тыс, а не тот который вам захотелось указать..
да и для описания пользователя достаточно 5 строчек в шаблоне и 2-х в пользователе, остальное - лишнее. достаточно простого nat=yes..
Задан: 2014-07-23 18:14:14 +0400
Просмотрен: 854 раз
Обновлен: Jul 24 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Голосовые пакеты не ходят, поэтому рвется связь через 30 секунд.
Сигнализация ходит. dump поможет.
Почитайте в каком диапазоне должны быть открыты RTP порты.
Out ( 2014-07-23 18:44:57 +0400 )редактироватьrtp порты: 55000 - 65000. В rtp.conf так и прописано. Да и пакеты вроде как ходят, абоненты друг друга слышат. Кстати, соединение рвется только при исходящем звонке с телефона. При входящем все хорошо. Еще заметил, при нормально звонке "sip show channels" показывает статус соединения "ASK", а при сбоящем статус "INVITE". Может каких то опций в sip.conf не достает?
goshran ( 2014-07-23 21:43:21 +0400 )редактироватьпосмотрел лог wireshark на клиенте в какой то момент, клиент начинает обращаться не через шлюз 79.XXX.XXX.XXX. А напрямую отправляет SIP REQUEST к asterisk на внутренний ип - 172.17.10.40.
goshran ( 2014-07-23 22:14:45 +0400 )редактироватьrtp.conf покажите
awsswa ( 2014-07-24 07:22:49 +0400 )редактироватьrtp.conf добавил в вопрос
goshran ( 2014-07-24 09:11:01 +0400 )редактироватьза 5 минут не разобраться - советов будет на пару дней переборов параметров - решайте вопрос с платной поддержкой - может кто захочет шабашнуть.
awsswa ( 2014-07-24 12:33:40 +0400 )редактироватьпараметры можно по перебирать, это не такая большая проблема. Просто у меня уже идей нет, что не так. Еще маленький аспект: без media_address=79.XXX.XXX.XXX, звука нет при звонках на *60... У кого нибудь получилось заставить нормально работать 11 астер через нат?
goshran ( 2014-07-24 13:27:24 +0400 )редактироватьправила в таблице POSTROUTING не нужны. Плюс надо определить чей нат мешает работе, тот за которым Asterisk или тот за которым телефон.
eyt5297 ( 2014-07-25 15:19:04 +0400 )редактировать