странное поведение asteriska. Есть несколько проблем при регистрации SIP клиентов.
клиент за нат, сервер за нат.
после того как регистрация клиента прошла успешно, астер выдает сообщения:
| Код: |
| -- Registered SIP '1004' at 93.74.85.243:51237 [2012-08-05 17:17:24] NOTICE[29992]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Reachable. (83ms / 1000ms) [2012-08-05 17:17:42] NOTICE[29992]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Lagged. (1617ms / 1000ms) [2012-08-05 17:17:52] NOTICE[29992]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Reachable. (65ms / 1000ms) [2012-08-05 17:18:01] NOTICE[29925]: chan_sip.c:26687 sip_poke_noanswer: Peer '1004' is now UNREACHABLE! Last qualify: 67 [2012-08-05 17:18:11] NOTICE[29992]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Reachable. (67ms / 1000ms) [2012-08-05 17:18:27] NOTICE[29925]: chan_sip.c:26687 sip_poke_noanswer: Peer '1004' is now UNREACHABLE! Last qualify: 71 [2012-08-05 17:18:37] NOTICE[29992]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Reachable. (76ms / 1000ms) [2012-08-05 17:18:47] NOTICE[29925]: chan_sip.c:26687 sip_poke_noanswer: Peer '1004' is now UNREACHABLE! Last qualify: 70 [2012-08-05 17:18:57] NOTICE[29992]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Reachable. (67ms / 1000ms) [2012-08-05 17:19:12] NOTICE[29925]: chan_sip.c:26687 sip_poke_noanswer: Peer '1004' is now UNREACHABLE! Last qualify: 70 [2012-08-05 17:19:22] NOTICE[29992]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Reachable. (78ms / 1000ms) [2012-08-05 17:19:32] NOTICE[29925]: chan_sip.c:26687 sip_poke_noanswer: Peer '1004' is now UNREACHABLE! Last qualify: 72 |
При этом параметр qualify менял от 1000 до 4000. Ситуация такая же.. просто сервер переодически "теряет" клиента.
От чего это может быть???
Когда клинт решает отключиться, то сервер и на это реагирует не так, как хотелось бы...
| Код: |
| WARNING[29941] chan_sip.c: Failure to write to tcp/tls socket WARNING[29941] chan_sip.c: Failure to write to tcp/tls socket WARNING[29941] chan_sip.c: Failure to write to tcp/tls socket WARNING[29941] chan_sip.c: Failure to write to tcp/tls socket WARNING[29941] chan_sip.c: Failure to write to tcp/tls socket WARNING[29941] chan_sip.c: Failure to write to tcp/tls socket WARNING[29941] chan_sip.c: Failure to write to tcp/tls socket WARNING[29925] chan_sip.c: sip_xmit of 0xb6c05958 (len 647) to ip_clinet returned -2: Interupted system call WARNING[29925] chan_sip.c: sip_xmit of 0xb6c03892 (len 647) to ip_clinet returned -2: Interupted system call WARNING[29925] chan_sip.c: sip_xmit of 0xb6c03831 (len 647) to ip_clinet returned -2: Interupted system call WARNING[29925] chan_sip.c: sip_xmit of 0xb6c05312 (len 647) to ip_clinet returned -2: Interupted system call ........ |
и такой лог идет не останавливаясь....
При перезазрузке астера, возникают след ошибка
| Код: |
| ERROR[30058]: tcptls.c:397 ast_tcptls_client_start: Unable to connect SIP socket to ip-clienet_beh_nat: Connection refused ERROR[30059]: tcptls.c:397 ast_tcptls_client_start: Unable to connect SIP socket to ip-clienet_beh_nat: Connection refused ERROR[30060]: tcptls.c:397 ast_tcptls_client_start: Unable to connect SIP socket to ip-clienet_beh_nat: Connection refused ERROR[30061]: tcptls.c:397 ast_tcptls_client_start: Unable to connect SIP socket to ip-clienet_beh_nat: Connection refused ERROR[30062]: tcptls.c:397 ast_tcptls_client_start: Unable to connect SIP socket to ip-clienet_beh_nat: Connection refused ERROR[30057]: tcptls.c:397 ast_tcptls_client_start: Unable to connect SIP socket to ip-clienet_beh_nat: Connection timed out ERROR[30063]: tcptls.c:397 ast_tcptls_client_start: Unable to connect SIP socket to ip-clienet_beh_nat: Connection refused ........... |
А спустя некоторое время, астер просто "падает"....
Подозреваю что что-то не то с натом.... но что именно.... может кто сталкивался с такой проблемой, подскажите что не так..
Спасибо
Мои настройки
sip.conf
[general]
externaddr=externIP:5060
localnet=192.168.0.0/255.255.255.0
context=default
allowguest=yes
tcpenable=yes
transport=tcp
tcpbindaddr=192.168.0.2:5060
tlsenable=no
rtpkeepalive=10
[user](!)
type=friend
context= out
host=dynamic
nat=no
secret=123
dtmfmode=auto
disallow=all
allow=ulaw
transport=tcp
directmedia=no
qualify=1000
[1000](user) - клиент внутренней сети
[1001](user) - клиент внешней сети
nat=yes
[/list]
во вторых в обциях [general] неплохобы сказать что и сервер за натом
клиент точно по TCP цепляется ?
1. убрал nat=no из шаблона, сейчас он прописывается у конкертного юзера
2 в [General] добавил nat=yes, заменил externaddr=externIP:5060 на externhost=externIP:5060 и externrefresh=10
3 да, клиенты вешаются именно на TCP, так как при стандартном UDP были проблемы со звуком...
версия * 1.8.11 cert5
на данный момент ошибки пропали... но и sip Не подключены - нечему глючить! ))
но осталось такое
[2012-08-05 20:19:26] NOTICE[30722]: chan_sip.c:21157 handle_response_peerpoke: Peer '1000' is now Lagged. (1610ms / 1000ms)
[2012-08-05 20:23:26] NOTICE[30722]: chan_sip.c:21157 handle_response_peerpoke: Peer '1000' is now Lagged. (1883ms / 1000ms)
[2012-08-05 20:23:36] NOTICE[30722]: chan_sip.c:21157 handle_response_peerpoke: Peer '1000' is now Reachable. (162ms / 1000ms)
[2012-08-05 20:23:42] NOTICE[30725]: chan_sip.c:26687 sip_poke_noanswer: Peer '1000' is now UNREACHABLE! Last qualify: 148
[2012-08-05 20:23:52] NOTICE[30722]: chan_sip.c:21157 handle_response_peerpoke: Peer '1000' is now Reachable. (226ms / 1000ms)
[2012-08-05 20:19:36] NOTICE[30722]: chan_sip.c:21157 handle_response_peerpoke: Peer '1000' is now Reachable. (214ms / 1000ms)
[2012-08-05 20:25:24] NOTICE[30803]: chan_sip.c:21157 handle_response_peerpoke: Peer '1002' is now Lagged. (1049ms / 1000ms)
[2012-08-05 20:25:26] NOTICE[30722]: chan_sip.c:21157 handle_response_peerpoke: Peer '1000' is now Lagged. (1267ms / 1000ms)
[2012-08-05 20:25:35] NOTICE[30803]: chan_sip.c:21157 handle_response_peerpoke: Peer '1002' is now Reachable. (479ms / 1000ms)
[2012-08-05 20:25:36] NOTICE[30722]: chan_sip.c:21157 handle_response_peerpoke: Peer '1000' is now Reachable. (152ms / 1000ms)
отчего зависит время ответа абонента??? при sip show peers время отклика составляет примерно 150-200 мс, но иногда возникют lagged, а то и вовсе unreachible....
1002 - клиент из-за нат
1000 - клиент подключенный по VPN, следовательно без нат...
| Код: |
| [2012-08-05 23:37:08] NOTICE[30928]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Reachable. (69ms / 1000ms) [2012-08-05 23:37:26] NOTICE[30725]: chan_sip.c:26687 sip_poke_noanswer: Peer '1004' is now UNREACHABLE! Last qualify: 768 [2012-08-05 23:37:36] NOTICE[30928]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Reachable. (129ms / 1000ms) [2012-08-05 23:37:44] NOTICE[30928]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Lagged. (1369ms / 1000ms) [2012-08-05 23:37:56] NOTICE[30725]: chan_sip.c:26687 sip_poke_noanswer: Peer '1004' is now UNREACHABLE! Last qualify: 1369 [2012-08-05 23:38:06] NOTICE[30928]: chan_sip.c:21157 handle_response_peerpoke: Peer '1004' is now Reachable. (71ms / 1000ms) [2012-08-05 23:38:10] NOTICE[30725]: chan_sip.c:26687 sip_poke_noanswer: Peer '1004' is now UNREACHABLE! Last qualify: 71 [2012-08-05 23:38:32] WARNING[30725]: chan_sip.c:3396 __sip_xmit: sip_xmit of 0xb6d0ea60 (len 647) to IP_CLIENT:51694 returned -2: Interrupted system call [2012-08-05 23:38:44] WARNING[30725]: chan_sip.c:3396 __sip_xmit: sip_xmit of 0xb6d0ea60 (len 647) to IP_CLIENT:51694 returned -2: Interrupted system call [2012-08-05 23:38:56] WARNING[30725]: chan_sip.c:3396 __sip_xmit: sip_xmit of 0xb6d0ea60 (len 647) to IP_CLIENT:51694 returned -2: Interrupted system call [2012-08-05 23:39:08] WARNING[30725]: chan_sip.c:3396 __sip_xmit: sip_xmit of 0xb6d0ea60 (len 647) to IP_CLIENT:51694 returned -2: Interrupted system call [2012-08-05 23:39:20] WARNING[30725]: chan_sip.c:3396 __sip_xmit: sip_xmit of 0xb6d0ea60 (len 647) to IP_CLIENT:51694 returned -2: Interrupted system call [2012-08-05 23:39:32] WARNING[30725]: chan_sip.c:3396 __sip_xmit: sip_xmit of 0xb6d0ea60 (len 647) to IP_CLIENT:51694 returned -2: Interrupted system call ... |
клиент 1004 за нат
и такой варнинг наблюдается каждые 12 секунд....
при этом висит канал с 1002, который находится тоже за натом
| Код: |
| *CLI> sip show channels Peer User/ANR Call ID Format Hold Last Message Expiry Peer IP_ANOTHER_CLIENT (None) 59384a7f66cccc0 0x0 (nothing) No (d) Init: OPTIONS 1002 1 active SIP dialog |
хотя разговор давно окончен...
дебаг peer выдает:
| Код: |
| [2012-08-06 00:37:14] WARNING[30725]: chan_sip.c:3396 __sip_xmit: sip_xmit of 0xb6d0b7a0 (len 647) to IP_SERVER returned -2: Interrupted system call Really destroying SIP dialog '0c7aa02367c1fb1613746a16471f2a9a@IP_SERVER:5060' Method: OPTIONS Reliably Transmitting (NAT) to IP_CALIENT:55356: OPTIONS sip:1004@192.168.1.101:5060;rinstance=cf7dd7267302a236;transport=TCP SIP/2.0 Via: SIP/2.0/TCP IP_SERVER:5060;branch=z9hG4bK7f88e3b1;rport Max-Forwards: 70 From: "asterisk" ;tag=as4e7b1a00 To: Contact: Call-ID: 4457b3615f3470dd2281a7343f390e60@93.125.108.62:5060 CSeq: 102 OPTIONS User-Agent: Asterisk PBX 1.8.11-cert5 Date: Sun, 05 Aug 2012 21:37:26 GMT Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH Supported: replaces, timer Content-Length: 0 |
А то про проблемы со звуком наводят соинения
проблемы с Udp начинались с подключения: при том, что и клиент и сервер находятся за натом, было необходимо использование стан сервера.
"К сожалению, если обе общающиеся стороны находятся за NAT’ом, соединение не может быть установлено обычным способом. Именно здесь STUN и оказывается полезным." (- Википедия)
В целях избежания использования какого либо стороннего приложения, решил перейти на TCP.
идут все те же ошибки при регистрации:
| Код: |
| ERRROR[31909]: tcptls.c:397 ast_tcptls_client_start: Unable to connect SIP socket to IP_CLIENT:52395: Connection timed out несмотря на то, что 64 bytes from IP_CLIENT: icmp_req=1 ttl=52 time=50.3 ms 64 bytes from IP_CLIENT: icmp_req=2 ttl=52 time=32.4 ms 64 bytes from IP_CLIENT: icmp_req=3 ttl=52 time=31.3 ms 64 bytes from IP_CLIENT: icmp_req=4 ttl=52 time=31.2 ms 64 bytes from IP_CLIENT: icmp_req=7 ttl=52 time=28.4 ms 64 bytes from IP_CLIENT: icmp_req=8 ttl=52 time=32.2 ms 64 bytes from IP_CLIENT: icmp_req=9 ttl=52 time=30.8 ms |
Последний раз редактировалось: Shyrikoff (Пн Авг 06, 2012 09:36)
Половина sip клиентов работает криво с нат.
Это легко проверяется
sip show peers
и если клиенты за натом висят на порту внешнийадресклиента:5060 - клиент кривой - но это не говорит об его нерабочем состоянии.
Точно работает 3CX Phone - у него обычно - внешнийадресклиента:56435 - типа так - и при каждом перезапуске порт меняется
Может вам поднять на сервере PPPoE сервер - многие клиенты умеют подключаться к нему - так избежите проблему с нат.
Последний раз редактировалось: awsswa (Пн Авг 06, 2012 09:43)
| Код: |
| sip show peers Name/username Host Dyn Forcerport ACL Port Status 1000/1000 внутреннийIP D 5060 OK (19 ms) 1001 (Unspecified) D N 0 UNKNOWN 1002/1002 вненийIP D N 57764 OK (280 ms) 1003 (Unspecified) D N 0 UNKNOWN 1004/1004 внешнийIP2 D N 52395 UNREACHABLE и сыпятся ERROR[31928]: tcptls.c:397 ast_tcptls_client_start: Unable to connect SIP socket to внешнийIP2:52395: Connection timed out |
Последний раз редактировалось: Shyrikoff (Пн Авг 06, 2012 09:44)
Чтоб не сюпались предупреждения qualify=no
Но эту проблему не решит - у вас сеть гавно. Большой пинг.
У вернитесь обратно на UDP - по играйте с кодаками - Jbuffer включите.
Последний раз редактировалось: awsswa (Пн Авг 06, 2012 09:48)
vpn сервер работает и при подключении таких проблем не наблюдал.
предупреждения не страшат!)) проблему не исправит, так как все равно переодически клиент будет недоступен... уж лучше видеть проблему
Added after 5 minutes:
я вот еще чего не понимаю. Почему при пинге от 25-60мс qualify в 1000 не успевает возвращаться...
| Код: |
| [general] nat=yes externaddr= IP_SERVER:5060 localnet=192.168.0.0/255.255.255.0 context=default allowguest=yes tcpenable=no transport=udp udpbindaddr=0.0.0.0 tlsenable=no rtpkeepalive=10 directmedia=no [user](!) type=friend context= out host=dynamic secret=123 dtmfmode=auto disallow=all allow=ulaw transport=udp directmedia=no qualify=1000 [1000](user) nat=no [1001](user) nat=no [1002](user) nat=yes [1003](user) nat=yes |
| Код: |
| *CLI> sip show peers Name/username Host Dyn Forcerport ACL Port Status 1000/1000 192.168.0.251 D 49153 OK (26 ms) 1002/1002 белыйИПклиента,которыйзанатом D N 11135 OK (34 ms) |
при звонке с 1002 на 1000. звонок идет, поднять трубку невозможно (сервер на это не реагирует)
rtp весело бегут в одну сторону...
| Код: |
| Got RTP packet from белыйИПклиента,которыйзанатом:11208 (type 00, seq 022320, ts 1826129970, len 000160) Got RTP packet from белыйИПклиента,которыйзанатом:11208 (type 00, seq 022321, ts 1826130130, len 000160) Got RTP packet from белыйИПклиента,которыйзанатом:11208 (type 00, seq 022322, ts 1826130290, len 000160) Got RTP packet from белыйИПклиента,которыйзанатом:11208 (type 00, seq 022323, ts 1826130450, len 000160) Got RTP packet from белыйИПклиента,которыйзанатом:11208 (type 00, seq 022324, ts 1826130610, len 000160) |
при обратном направлении вызова сервер вообще никак не реагирует...
rtp по-прежнему проброшены 10000-10020 и 5060 для sip
Подскажите, что неправильно, уже несколько дней борюсь
так и открывайте с 10000-20000.
есть еще вопрос: был клиент из-под нат. был зарегестрирован на беломIP. Он уже давно отконнектился, а вот в астер поступают воспоминания о нем ...
| Код: |
| Unable to connect SIP socket to белыйIP:11135: Connection refused Unable to connect SIP socket to белыйIP:11135: Connection refused Unable to connect SIP socket to белыйIP:11135: Connection refused Unable to connect SIP socket to белыйIP:11135: Connection refused Unable to connect SIP socket to белыйIP:11135: Connection refused Unable to connect SIP socket to белыйIP:11135: Connection refused Unable to connect SIP socket to белыйIP:11135: Connection refused Unable to connect SIP socket to белыйIP:11135: Connection refused Unable to connect SIP socket to белыйIP:11135: Connection refused Unable to connect SIP socket to белыйIP:11135: Connection refused Unable to connect SIP socket to белыйIP:11135: Connection refused |
и это не заканчивается!
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius