Коллеги, нужна помощь.
Почему-то пропадает звук с внешки через 25 сек соединения. Звоню с мобилы на номер, отвечаю на телефоне, 25 сек слышимость в оба конца нормальная, но на 26-ой секунде пропадает звук с мобилы, внешку не слышно. С внутреннего я говорю и в мобильнике меня четко слышно, а наоборот тишина. В интернете пишут что якобы из-за NAT и RTP трафика. Нужно отключить canreinvite и проблема уйдет, еще советовали перенести externaddr из general в самого пира. Но тоже не помогло.
При звонке запустил -rvvvv все что отобразилось ниже:
[root@voip ~]# asterisk -rvvvv
=========================================================================
Connected to Asterisk 13.14.0 currently running on voip (pid = 1542)
== Using SIP RTP CoS mark 5
-- Executing [213137@incoming:1] Dial("SIP/r_213137-00000002", "SIP/125") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/125
-- SIP/125-00000003 is ringing
-- SIP/125-00000003 answered SIP/r_213137-00000002
-- Channel SIP/125-00000003 joined 'simple_bridge' basic-bridge <7687653f-3fab-4a88-8da8-1283f72b39c0>
-- Channel SIP/r_213137-00000002 joined 'simple_bridge' basic-bridge <7687653f-3fab-4a88-8da8-1283f72b39c0>
> Bridge 7687653f-3fab-4a88-8da8-1283f72b39c0: switching from simple_bridge technology to native_rtp
> Locally RTP bridged 'SIP/r_213137-00000002' and 'SIP/125-00000003' in stack
> Locally RTP bridged 'SIP/r_213137-00000002' and 'SIP/125-00000003' in stack
> 0x7f8c40006700 -- Probation passed - setting RTP source address to 192.168.50.12:12224
> 0x7f8b8c00d0c0 -- Probation passed - setting RTP source address to 10.10.10.113:17924
-- Channel SIP/125-00000003 left 'native_rtp' basic-bridge <7687653f-3fab-4a88-8da8-1283f72b39c0>
-- Channel SIP/r_213137-00000002 left 'native_rtp' basic-bridge <7687653f-3fab-4a88-8da8-1283f72b39c0>
== Spawn extension (incoming, 213137, 1) exited non-zero on 'SIP/r_213137-00000002'
voip*CLI>
Вот конфигурация sip.conf^
;
; SIP Configuration example for Asterisk
;
[general]
localnet = 192.168.50.0/24
language=ru
context=default
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
transport=udp
srvlookup=yes
allowguest=no
limitonpeers=yes
alwaysauthreject=yes
defaultexpiry=300
minexpiry=300
maxexpiry=3600
[authentication]
[r_213137]
type=peer
externaddr=10.9.3.7
host=10.10.10.100
port=5060
nat=force_rport,comedia
insecure=invite,port
disallow=all
allow=alaw
allow=ulaw
dtmfmode=auto
secret=********
defaultuser=213137
trunkname=213137
fromuser=213137
callbackextension=213137
context=incoming
directmedia=no
canreinvite=no
;Create template group IT
[itdep](!)
type=friend
context=outcoling
secret=*******
host=dynamic
nat=no
qualify=yes
directmedia=no
callgroup=1
pickupgroup=1
call-limit=2
dtmfmode=auto
disallow=all
allow=alaw
allow=ulaw
allow=g729
allow=g723
allow=g722
canreinvite=no
;Create users group IT
[125](itdep)
callerid="Admin" <125>
Это конфиг extensions.conf
;
; Extensions Configuration example for Asterisk
;
[general]
static=yes
writeprotect=no
[globals]
[default]
[handup-sip]
exten => _X!,1,Hangup()
;Dial plan "Outcoling"
[outcoling]
exten => 900,1,Answer()
exten => 900,n,ConfBridge(1,confer)
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _XXX.,1,Dial(SIP/${EXTEN}@r_213137)
include => handup-sip
;Dial plan "Incoming"
[incoming]
exten => 213137,1,Dial(SIP/125)
Подскажите, что еще подкорректировать, чтобы исправить проблему?
UDP:
При снятии дампа в момент когда пропал голос, дамп перестал записываться. На экране было следующее:
[root@voip ~]tcpdump -s 0 -w voip.cap
tcpdump: listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
tcpdump: pcap_loop: The interface down
3742 packets captured
3742 packets received by filter
0 packets dropped by kernel
Как я понял это просто падает ppp0 соединение с провайдером ?
UPD 2.0
Вот логи, похоже таки интерфейс падает, пока непонятно почему.
Feb 22 07:25:04 voip NetworkManager[730]: <warn> [1487737504.2376] dhcp4 (eno1): request timed out
Feb 22 07:25:04 voip NetworkManager[730]: <info> [1487737504.2377] dhcp4 (eno1): state changed unknown -> timeout
Feb 22 07:25:04 voip NetworkManager[730]: <info> [1487737504.2456] dhcp4 (eno1): canceled DHCP transaction, DHCP client pid 12930
Feb 22 07:25:04 voip NetworkManager[730]: <info> [1487737504.2456] dhcp4 (eno1): state changed timeout -> done
Feb 22 07:25:04 voip NetworkManager[730]: <info> [1487737504.2459] device (eno1): state change: ip-config -> failed (reason 'ip-config-unavailable') [70 120 5]
Feb 22 07:25:04 voip NetworkManager[730]: <warn> [1487737504.2464] device (eno1): Activation: failed for connection 'eno1'
Feb 22 07:25:04 voip NetworkManager[730]: <info> [1487737504.2469] device (eno1): state change: failed -> disconnected (reason 'none') [120 30 0]
Feb 22 07:25:04 voip pppoe[11396]: recv (receivePacket): Network is down
Feb 22 07:25:04 voip pppoe[11396]: recv (receivePacket): Network is down
Feb 22 07:25:04 voip NetworkManager[730]: <info> [1487737504.2894] device (eno1): set-hw-addr: reset MAC address to E0:07:1B:8A:69:2F (deactivate)
Feb 22 07:25:04 voip kernel: IPv6: ADDRCONF(NETDEV_UP): eno1: link is not ready
Feb 22 07:25:04 voip NetworkManager[730]: <info> [1487737504.3813] device (eno1): state change: disconnected -> unavailable (reason 'carrier-changed') [30 20 40]
Feb 22 07:25:08 voip NetworkManager[730]: <info> [1487737508.0839] device (eno1): link connected
Feb 22 07:25:08 voip kernel: igb 0000:02:00.0 eno1: igb: eno1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Feb 22 07:25:08 voip kernel: IPv6: ADDRCONF(NETDEV_CHANGE): eno1: link becomes ready
Feb 22 07:25:08 voip NetworkManager[730]: <info> [1487737508.0843] device (eno1): state change: unavailable -> disconnected (reason 'carrier-changed') [20 30 40]
Feb 22 07:25:08 voip NetworkManager[730]: <info> [1487737508.0851] policy: auto-activating connection 'eno1'
Feb 22 07:25:08 voip NetworkManager[730]: <info> [1487737508.0861] device (eno1): Activation: starting connection 'eno1' (6a298cde-294a-486b-a89b-34ac821efadd)
Feb 22 07:25:08 voip NetworkManager[730]: <info> [1487737508.0863] device (eno1): state change: disconnected -> prepare (reason 'none') [30 40 0]
Feb 22 07:25:08 voip pppoe[11396]: recv (receivePacket): Network is down
Feb 22 07:25:08 voip pppoe[11396]: recv (receivePacket): Network is down
Feb 22 07:25:08 voip NetworkManager[730]: <info> [1487737508.1287] device (eno1): set-hw-addr: set-cloned MAC address to 00:18:82:80:BE:3C (00:18:82:80:BE:3C)
Feb 22 07:25:08 voip kernel: IPv6: ADDRCONF(NETDEV_UP): eno1: link is not ready
Feb 22 07:25:08 voip NetworkManager[730]: <info> [1487737508.2203] device (eno1): state change: prepare -> config (reason 'none') [40 50 0]
Feb 22 07:25:08 voip NetworkManager[730]: <info> [1487737508.2209] device (eno1): state change: config -> ip-config (reason 'none') [50 70 0]
Feb 22 07:25:08 voip NetworkManager[730]: <info> [1487737508.2212] dhcp4 (eno1): activation: beginning transaction (timeout in 45 seconds)
Feb 22 07:25:08 voip NetworkManager[730]: <info> [1487737508.2227] dhcp4 (eno1): dhclient started with pid 12937
Feb 22 07:25:08 voip dhclient[12937]: DHCPDISCOVER on eno1 to 255.255.255.255 port 67 interval 8 (xid=0x42d155ac)
Feb 22 07:25:11 voip NetworkManager[730]: <info> [1487737511.4500] device (eno1): link connected
Feb 22 07:25:11 voip kernel: igb 0000:02:00.0 eno1: igb: eno1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Feb 22 07:25:11 voip kernel: IPv6: ADDRCONF(NETDEV_CHANGE): eno1: link becomes ready
UPD 3.0
Проблема решена. Все-таки глюки с получением адреса из внутренних сетей провайдера.
Что за адрес: 10.10.10.113?
Out ( 2017-02-21 17:00:47 +0400 )редактироватьЭто доп. подсети которые нужно открыть. Выдержка из письма провайдера: "Подсети 10.9.0.0/16 и 10.10.0.0/16 должны быть открыты на интерфейсе где поднят PPPOE. Если эти подсети не открыть, то при звонках будет иметь место односторонняя слышимость." Firewall на CentOS'е отключен, поэтому никаких ограничений для этих сетей нет. Я так же добавил эти сети в route-ppp0: 10.9.0.0/16 dev ppp0 и 10.10.0.0/16 dev ppp0 К тому же 20-25 сек слышимость есть. Я обновил первый пост и написал UPD при попытке снять дамп.
Francyz ( 2017-02-21 18:03:28 +0400 )редактироватьи в localNet нужно бы их добавить
april22 ( 2017-02-22 09:35:13 +0400 )редактироватьзачем их добавлять если они находятся за nat ?
Francyz ( 2017-02-22 21:27:45 +0400 )редактироватьzavr2008, Интерфейс поднят на CentOS'e он и дозванивается, через него и идет подключение. Хотите сказать что это не НАТ? Маршруты настроены, как описано комментарием выше.
Касательно адреса регистрации как я понял он не нужен если используется peer и callbackextension. Externaddr - я добавлял в general, но на текущий момент переместил в peer для проверки совета.
Касательно аксес листа вы имеете ввиду заблокировать все кроме моей 50-ой подсети или сети провайдера тоже открыть в доступ0?
Francyz ( 2017-02-22 21:33:14 +0400 )редактироватьzavr2008, я пытался делать адрес регистрации у абонента ставить тип friend и nat=no тогда у меня не было слышимости, тишина в трубке, когда заменил на НАТ, то слышимость появилась. Если я при строке регистрации ставлю callbackextension то у меня начинают вываливаться ошибки DNS, поэтому пришлось убрать строку регистрации и сменить тип на peer.
Я вроде как выяснил что все таки интерфейс падает по непонятным пока причинам.
Francyz ( 2017-02-22 21:36:31 +0400 )редактироватьтеперь вам надо включить дебаг в pptpd и почитать, чего пишет. Хотя скорее всего просто "no response"=потеря пакетов.
meral ( 2017-02-26 11:07:23 +0400 )редактироватьDNS - стоит кэширующий DNS сервер поставить. Возможно в нем и проблема, chan_sip подвисает при недоступности DNS..
Zavr2008 ( 2017-02-27 14:42:19 +0400 )редактировать