Глюк воспроизводится на ущербных роутерах.
Пример: Asus 520gu - полет нормальный. Trendnet tew-432brp - я вообще ничего не слышу ни в одном направлении. Хардварный панасоник kx-tgp500 работает на обоих роутерах. Пробовал blink, qutecom, x-lite.
Начал думать: ну мало ли, может мтт/отк/глобус имеют хитрые настройки, так что отключил к чертям всю эзотерику, убрал реинвайты. Результат тот же. Потом подумал, мало ли, провайдер на колокейшне веселится, поднял тачку на селектеле - та же фигня. Попробовал выводит outgoing через sipnet - результат предсказуемо отрицательный.
Но 1.4 ветке-то работало. А на 10+ не работает. Напрашивается вывод, что в астериске что-то поменяли. При этом rtp до снятия трубки идет в обоих направлениях, после снятия трубки - только в одном.
У некоторых клиентов софтфоны нормально работают на входящие.
В sip.conf ничего интересного:
| Код: |
| [general] context=default udpbindaddr=0.0.0.0 tcpenable=no tcpbindaddr=0.0.0.0 srvlookup=yes rtcachefriends=yes videosupport=yes ;relaxdtmf=yes allowguest=no alwaysauthreject=yes rtptimeout=60 ;rtpholdtimeout=60 ;rtpkeepalive=60 ;usereqphone=yes ;useragent=SipPhone avpf=yes nat=force_rport,comedia qualify=yes ignoreregexpire=yes rtupdate=yes ignoresdpversion=yes ;directmedia=nonat directmedia=no ;allowoverlap=no ;compactheaders = no disallow=all ;allow=ulaw ;allow=gsm ;allow=g729 allow=all ; мало ли софтфону не хватает кодеков каких, но видимо нет [root] type=friend username=root fromuser=root secret=:( host=dynamic context=sip nat=yes directmedia=no qualify=yes disallow=all allow=all [sipnet] secret=:( defaultuser=:( host=sipnet.ru type=friend context=from-sipnet insecure=invite fromuser=:( fromdomain=sipnet.ru disallow=all allow=alaw nat=no dtmfmode=rfc2833 |
С этими настройками лог выглядит так:
| Код: |
| Connected to Asterisk 11.2.1 currently running on nicetry (pid = 2529) INVITE sip:@:5060 SIP/2.0 Via: SIP/2.0/UDP 37.146.70.255:58201;rport;branch=z9hG4bKPjJgxcueg5lAI8JSU5Z.VfpLlQsCsFAvTM Max-Forwards: 70 From: "root" ;tag=pgJzzwFYgsxSOZPw7qEXLWGNvjmQXY5v To: Contact: Call-ID: 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM CSeq: 11145 INVITE Allow: SUBSCRIBE, NOTIFY, PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, MESSAGE, REFER Supported: 100rel, replaces, norefersub, gruu User-Agent: Blink 0.2.11 (Linux) Content-Type: application/sdp Content-Length: 374 v=0 o=- 3569779447 3569779447 IN IP4 37.146.70.255 s=Blink 0.2.11 (Linux) c=IN IP4 37.146.70.255 t=0 0 m=audio 50034 RTP/AVP 9 104 103 102 0 8 101 a=rtcp:50035 a=rtpmap:9 G722/8000 a=rtpmap:104 speex/32000 a=rtpmap:103 speex/16000 a=rtpmap:102 speex/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=sendrecv --- (13 headers 16 lines) --- Sending to 37.146.70.255:58201 (no NAT) Using INVITE request as basis request - 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM Found peer 'root' for 'root' from 37.146.70.255:58201 SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP 37.146.70.255:58201;branch=z9hG4bKPjJgxcueg5lAI8JSU5Z.VfpLlQsCsFAvTM;received=37.146.70.255;rport=58201 From: "root" ;tag=pgJzzwFYgsxSOZPw7qEXLWGNvjmQXY5v To: ;tag=as270a3cc4 Call-ID: 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM CSeq: 11145 INVITE Server: Asterisk PBX 11.2.1 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH Supported: replaces, timer WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="2813515d" Content-Length: 0 Scheduling destruction of SIP dialog '2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM' in 6400 ms (Method: INVITE) ACK sip:@:5060 SIP/2.0 Via: SIP/2.0/UDP 37.146.70.255:58201;rport;branch=z9hG4bKPjJgxcueg5lAI8JSU5Z.VfpLlQsCsFAvTM Max-Forwards: 70 From: "root" ;tag=pgJzzwFYgsxSOZPw7qEXLWGNvjmQXY5v To: ;tag=as270a3cc4 Call-ID: 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM CSeq: 11145 ACK User-Agent: Blink 0.2.11 (Linux) Content-Length: 0 --- (9 headers 0 lines) --- INVITE sip:@:5060 SIP/2.0 Via: SIP/2.0/UDP 37.146.70.255:58201;rport;branch=z9hG4bKPjBjhtMF0is402KU1oZNlTYMYb0DkwGtJp Max-Forwards: 70 From: "root" ;tag=pgJzzwFYgsxSOZPw7qEXLWGNvjmQXY5v To: Contact: Call-ID: 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM CSeq: 11146 INVITE Allow: SUBSCRIBE, NOTIFY, PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, MESSAGE, REFER Supported: 100rel, replaces, norefersub, gruu User-Agent: Blink 0.2.11 (Linux) Authorization: Digest username="root", realm="asterisk", nonce="2813515d", uri="sip:@", response="9ee8c33a17c4c0537bf31456c660a15b", algorithm=MD5 Content-Type: application/sdp Content-Length: 374 v=0 o=- 3569779447 3569779447 IN IP4 37.146.70.255 s=Blink 0.2.11 (Linux) c=IN IP4 37.146.70.255 t=0 0 m=audio 50034 RTP/AVP 9 104 103 102 0 8 101 a=rtcp:50035 a=rtpmap:9 G722/8000 a=rtpmap:104 speex/32000 a=rtpmap:103 speex/16000 a=rtpmap:102 speex/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=sendrecv --- (14 headers 16 lines) --- Sending to 37.146.70.255:58201 (NAT) Using INVITE request as basis request - 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM Found peer 'root' for 'root' from 37.146.70.255:58201 == Using SIP VIDEO CoS mark 6 == Using SIP RTP CoS mark 5 Found RTP audio format 9 Found RTP audio format 104 Found RTP audio format 103 Found RTP audio format 102 Found RTP audio format 0 Found RTP audio format 8 Found RTP audio format 101 Found audio description format G722 for ID 9 Found audio description format speex for ID 104 Found audio description format speex for ID 103 Found audio description format speex for ID 102 Found audio description format PCMU for ID 0 Found audio description format PCMA for ID 8 Found audio description format telephone-event for ID 101 Capabilities: us - (g723|gsm|ulaw|alaw|g726|adpcm|slin|lpc10|g729|speex|speex16|ilbc|g726aal2|g722|slin16|jpeg|png|h261|h263|h263p|h264|mpeg4|red|t140|siren7|siren14|testlaw|g719|speex32|slin12|slin24|slin32|slin44|slin48|slin96|slin192|silk8|silk12|silk16|silk24), peer - audio=(ulaw|alaw|speex|speex16|g722|speex32)/video=(nothing)/text=(nothing), combined - (ulaw|alaw|speex|speex16|g722|speex32) Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|) Peer audio RTP is at port 37.146.70.255:50034 Peer doesn't provide video Looking for in sip (domain ) list_route: hop: SIP/2.0 100 Trying Via: SIP/2.0/UDP 37.146.70.255:58201;branch=z9hG4bKPjBjhtMF0is402KU1oZNlTYMYb0DkwGtJp;received=37.146.70.255;rport=58201 From: "root" ;tag=pgJzzwFYgsxSOZPw7qEXLWGNvjmQXY5v To: Call-ID: 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM CSeq: 11146 INVITE Server: Asterisk PBX 11.2.1 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH Supported: replaces, timer Contact: Content-Length: 0 -- Executing [@sip:1] Dial("SIP/root-00000006", "SIP/sipnet/") in new stack == Using SIP RTP CoS mark 5 -- Called SIP/sipnet/ -- SIP/sipnet-00000007 is ringing SIP/2.0 180 Ringing Via: SIP/2.0/UDP 37.146.70.255:58201;branch=z9hG4bKPjBjhtMF0is402KU1oZNlTYMYb0DkwGtJp;received=37.146.70.255;rport=58201 From: "root" ;tag=pgJzzwFYgsxSOZPw7qEXLWGNvjmQXY5v To: ;tag=as162d3976 Call-ID: 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM CSeq: 11146 INVITE Server: Asterisk PBX 11.2.1 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH Supported: replaces, timer Contact: Content-Length: 0 nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> # ========= ANSWER HERE =========== nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> nicetry*CLI> -- SIP/sipnet-00000007 answered SIP/root-00000006 Audio is at 18288 Adding codec 100003 (ulaw) to SDP Adding codec 100004 (alaw) to SDP Adding codec 100009 (speex) to SDP Adding codec 100012 (g722) to SDP Adding codec 100016 (speex16) to SDP Adding codec 100028 (speex32) to SDP Adding non-codec 0x1 (telephone-event) to SDP SIP/2.0 200 OK Via: SIP/2.0/UDP 37.146.70.255:58201;branch=z9hG4bKPjBjhtMF0is402KU1oZNlTYMYb0DkwGtJp;received=37.146.70.255;rport=58201 From: "root" ;tag=pgJzzwFYgsxSOZPw7qEXLWGNvjmQXY5v To: ;tag=as162d3976 Call-ID: 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM CSeq: 11146 INVITE Server: Asterisk PBX 11.2.1 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH Supported: replaces, timer Contact: Content-Type: application/sdp Content-Length: 368 v=0 o=root 57937782 57937782 IN IP4 s=Asterisk PBX 11.2.1 c=IN IP4 t=0 0 m=audio 18288 RTP/AVP 0 8 102 9 103 104 101 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:102 speex/8000 a=rtpmap:9 G722/8000 a=rtpmap:103 speex/16000 a=rtpmap:104 speex/32000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20 a=sendrecv -- Locally bridging SIP/root-00000006 and SIP/sipnet-00000007 ACK sip:@:5060 SIP/2.0 Via: SIP/2.0/UDP 37.146.70.255:58201;rport;branch=z9hG4bKPjg492URwdnaDJqFm96Tew2vV10ABPOncp Max-Forwards: 70 From: "root" ;tag=pgJzzwFYgsxSOZPw7qEXLWGNvjmQXY5v To: ;tag=as162d3976 Call-ID: 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM CSeq: 11146 ACK User-Agent: Blink 0.2.11 (Linux) Content-Length: 0 --- (9 headers 0 lines) --- == Spawn extension (sip, , 1) exited non-zero on 'SIP/root-00000006' Scheduling destruction of SIP dialog '2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM' in 6400 ms (Method: ACK) set_destination: Parsing for address/port to send to set_destination: set destination to 37.146.70.255:58201 Reliably Transmitting (NAT) to 37.146.70.255:58201: BYE sip:59674803@37.146.70.255:58201 SIP/2.0 Via: SIP/2.0/UDP :5060;branch=z9hG4bK0a79f5dd;rport Max-Forwards: 70 From: ;tag=as162d3976 To: "root" ;tag=pgJzzwFYgsxSOZPw7qEXLWGNvjmQXY5v Call-ID: 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM CSeq: 102 BYE User-Agent: Asterisk PBX 11.2.1 Proxy-Authorization: Digest username="root", realm="asterisk", algorithm=MD5, uri="sip:", nonce="2813515d", response="ab23d540e010397d020dd31b5b210c79" X-Asterisk-HangupCause: Normal Clearing X-Asterisk-HangupCauseCode: 16 Content-Length: 0 --- SIP/2.0 200 OK Via: SIP/2.0/UDP :5060;rport=5060;received=;branch=z9hG4bK0a79f5dd Call-ID: 2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM From: ;tag=as162d3976 To: "root" ;tag=pgJzzwFYgsxSOZPw7qEXLWGNvjmQXY5v CSeq: 102 BYE Server: Blink 0.2.11 (Linux) Content-Length: 0 --- (8 headers 0 lines) --- SIP Response message for INCOMING dialog BYE arrived Really destroying SIP dialog '2fK7BzTuu-FEJrKhEmZM0-XZZOllmEIM' Method: ACK nicetry*CLI> Disconnected from Asterisk server Asterisk cleanly ending (0). Executing last minute cleanups Asterisk ending (0). |
Я не вижу там причины проблемы. Что я делаю не так?
Rtpholdtimeout 300
Rtpkeepalive 5
core show translation покажите
| Код: |
| Translation times between formats (in microseconds) for one second of data Source Format (Rows) Destination Format (Columns) gsm ulaw alaw g726 adpcm slin lpc10 ilbc g726aal2 g722 slin16 testlaw slin12 slin24 slin32 slin44 slin48 slin96 slin192 gsm - 15000 15000 15000 15000 9000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000 ulaw 15000 - 9150 15000 15000 9000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000 alaw 15000 9150 - 15000 15000 9000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000 g726 15000 15000 15000 - 15000 9000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000 adpcm 15000 15000 15000 15000 - 9000 15000 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000 slin 6000 6000 6000 6000 6000 - 6000 6000 6000 8250 8000 6000 8000 8000 8000 8000 8000 8000 8000 lpc10 15000 15000 15000 15000 15000 9000 - 15000 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000 ilbc 15000 15000 15000 15000 15000 9000 15000 - 15000 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000 g726aal2 15000 15000 15000 15000 15000 9000 15000 15000 - 17250 17000 15000 17000 17000 17000 17000 17000 17000 17000 g722 15600 15600 15600 15600 15600 9600 15600 15600 15600 - 9000 15600 17500 17000 17000 17000 17000 17000 17000 slin16 14500 14500 14500 14500 14500 8500 14500 14500 14500 6000 - 14500 8500 8000 8000 8000 8000 8000 8000 testlaw 15000 15000 15000 15000 15000 9000 15000 15000 15000 17250 17000 - 17000 17000 17000 17000 17000 17000 17000 slin12 14500 14500 14500 14500 14500 8500 14500 14500 14500 14000 8000 14500 - 8000 8000 8000 8000 8000 8000 slin24 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 8500 14500 8500 - 8000 8000 8000 8000 8000 slin32 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 8500 14500 8500 8500 - 8000 8000 8000 8000 slin44 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 8500 14500 8500 8500 8500 - 8000 8000 8000 slin48 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 8500 14500 8500 8500 8500 8500 - 8000 8000 slin96 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 8500 14500 8500 8500 8500 8500 8500 - 8000 slin192 14500 14500 14500 14500 14500 8500 14500 14500 14500 14500 8500 14500 8500 8500 8500 8500 8500 8500 - |
Остальное попробую чуть позже, под рукой нет такого роутера.
Если енть возможность перешить роутер под dd-wrt - меняйте прошивку.
Дело не в прошивке, а в том, что аналогичные проблемы есть у десятка-другого клиентов, которые точно не будут ничего перепрошивать и/или менять роутер.
Попутно попробовал encrypted=yes, tlsenable=yes, sRTP, transport=udp,tcp,ws,wss. Пашет, падла, только сначала идут двойные гудки, а потом после снятия трубки одни гудки исчезают, а вторые остаются. Слышимость в обоих направлениях. Выходит дело, кто-то пакеты режет.
UPDATE: отключил sRTP, оставил tls - двойные гудки исчезли.
Если нет доверия моим виртуалкам - куплю пасс. Оплата wm/yandex.
p.s. ненавижу физиков
на данный момент самое работоспособное решение это астериск 11 + патч (https://issues.asterisk.org/jira/browse/ASTERISK-21225)
2-e схемы:
Дома:
Android (CSipSimple) -> AP Asus (WL-500w) -> Inet -> Регистрация на (minisipserver.com) - Голос в одну сторону (от меня)
Android (CSipSimple) -> AP Asus (WL-500w) -> Inet -> Регистрация на (sipnet.ru) - Голос в обе стороны
Работа:
Отличие в AP (TP Link) в обоих вариантах супер.
Лечение при включении "дома" - stun.
P.S. Firewall на Asus отключен.
Подскажите что не так настроено!!!
Заранее благодарен.
На работе TP-Link - это только AP или еще и роутер?
_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
| Цитата: |
| На работе TP-Link - это только AP или еще и роутер? |
Как AP!