Opened 3 years ago
Closed 3 years ago
#381 closed баг (fixed)
Периодические сообщения Destination unreachble
Reported by: | san | Owned by: | alx |
---|---|---|---|
Priority: | фигня | Milestone: | 1 очередь |
Component: | VE-02 | Keywords: | |
Cc: |
Description
Во время проверки схемы, я обнаружил некоторую странность.
К порту LAN платы VE-02 подключен SIP телефон и зарегистрирован на ней, также на плате есть окончание FS01. Совершая звонок телефон->окончание, я увидел что периодически плата VE-02 говорит по ICMP Destination unreachble, хотя соединение всё ещё активно и причин закрывать порт нет. Думаю, что это неправильно. При звонке в обратном направлении таких периодических сообщений я не увидел.
test1 - Звонок окончание -> телефон
test2 - Звонок телефон -> окончание
192.168.20.100 - IP адрес телефона.
дампы приложу ниже
Attachments (1)
Change History (20)
comment:1 by , 3 years ago
follow-up: 7 comment:2 by , 3 years ago
Уточни, пожалуйста, в чем именно по-твоему заключается баг. Или, иными словами, что я как разработчик могу сделать в рамках данного тикета?
comment:3 by , 3 years ago
И приложи, пожалуйста, логи платы VE-02 за период, в котором устанавливалось это соединение.
comment:4 by , 3 years ago
Первые несколько сообщений Destination unreachble передаются от платы VE-02 к телефону в 14:58:20. Насколько я вижу, за долю секунды до этого телефон отвечает сообщением SIP "200 OK" на вызов. В данном случае в серии сообщений ICMP Destination unreachble нет ничего странного. Телефон отправляет сообщение "200 OK" и активирует передачу RTP потока в направлении платы, однако в плате в этот момент RTP поток не активирован, и она не ожидает получения этого потока, так как еще не получила сообщение с ответом на предложение SDP. На то, чтобы плата VE-02 получила сообщение SIP, обработала его и активировала прием RTP потока, требуется некоторое время. За это время серия первых пакетов RTP, отправленных телефоном, вместо MSP попадают в CSP, который в ответ генерирует сообщение ICMP Destination unreachble.
comment:5 by , 3 years ago
Выше описывалось то, что я видел в файле test1.pcap. В test2.pcap ситуация полностью аналогична (время инцидента 14:59:34).
follow-up: 9 comment:6 by , 3 years ago
Я специально не записывал, кажется ничего в логах нет
Dec 10 07:48:30 comcerto daemon.warn sip_ua[479]: poller.cpp:1089: --> registrat ions updated. Dec 10 07:48:30 comcerto daemon.err sip_ua[479]: fs01.cpp:390: module 1 [FS01]: DC-DC calibration started... Dec 10 07:48:30 comcerto daemon.err sip_ua[479]: fs01.cpp:427: module 1 [FS01]: SLIC calibration started... Dec 10 07:48:31 comcerto daemon.err sip_ua[479]: poller.cpp:3114: wget exited wi th return code 1 Dec 10 07:48:33 comcerto daemon.err sip_ua[479]: fs01.cpp:541: module 1 [FS01]: SLIC calibration 2 started... Dec 10 07:48:37 comcerto user.debug kernel: eth2: no IPv6 routers present Dec 10 12:17:54 comcerto authpriv.info dropbear[502]: Child connection from 10.4 1.114.193:49647
Первые несколько сообщений Destination unreachble передаются от платы VE-02 к телефону в 14:58:20. Насколько я вижу, за долю секунды до этого телефон отвечает сообщением SIP "200 OK" на вызов. В данном случае в серии сообщений ICMP Destination unreachble нет ничего странного.
Это я понимаю, речь о ICMP Destination unreachble гораздо позже начала соединения., например в 14:58:47 в файле test1 (#2829)
comment:7 by , 3 years ago
Replying to alx:
Уточни, пожалуйста, в чем именно по-твоему заключается баг. Или, иными словами, что я как разработчик могу сделать в рамках данного тикета?
Я сделал вывод, что поведение платы некорректно. Нужно разобраться действительно ли так это, если да. то попытаться устранить баг.
comment:8 by , 3 years ago
Кажется я в описании тикета перепутал в каком файле эти самые сообщения присутствуют, насколько я вижу они в test1.
follow-up: 10 comment:9 by , 3 years ago
Replying to san:
Я специально не записывал, кажется ничего в логах нет
Тогда, наверное, и не надо, вроде бы и из дампов все видно. Я про логи написал еще до того, как стал смотреть дампы.
Это я понимаю, речь о ICMP Destination unreachble гораздо позже начала соединения., например в 14:58:47 в файле test1 (#2829)
Спасибо за уточнение. Попробую посмотреть, наверное, уже в понедельник.
comment:10 by , 3 years ago
Replying to alx:
Это я понимаю, речь о ICMP Destination unreachble гораздо позже начала соединения., например в 14:58:47 в файле test1 (#2829)
Попробую посмотреть, наверное, уже в понедельник.
Посмотрел.
Как видно из дампа, через пол-секунды после данного сообщения в адрес телефона пришло SIP сообщение BYE. На основании этого предполагаю, что имела место ситуация, подобная описанной ранее в comment:4, но с обратным порядком событий:
- Канальное окончание платы VE-02 принимает решение отбиться от имеющегося соединения. Для этого оно деактивирует медиапоток и передает в сеть сообщение BYE.
- Сообщение BYE "путешествует" от канального окончания платы VE-02 до телефона, по доорге обрабатываясь в промежуточных пунктах (прокси-серверах).
- Сообщение BYE принимается телефоном и обрабатывается в нем.
- Телефон деактивирует медиапоток (перестает отправлять RTP пакеты).
Так как пункты 2 и 3 описанного процесса не выполняются мгновенно, существует ненулевой отрезок времени, когда получатель (канальное окончание платы VE-02) уже отключил обработку RTP потока в MSP, а отпарвитель (телефон) его еще передает. Как результат, эти переданные телефоном RTP пакеты уже не обрабатываются MSP платы VE-02, а форвардятся в CSP, который и генерирует в ответ ICMP Destination unreachble. Бага в описанной ситуации нет.
follow-up: 12 comment:11 by , 3 years ago
Ок... ещё одна попытка 14:58:42(#2319 в файле test 1) :) ?
comment:12 by , 3 years ago
follow-up: 14 comment:13 by , 3 years ago
by , 3 years ago
follow-up: 15 comment:14 by , 3 years ago
Replying to san:
Интересно что эти сообщения которым нет объяснения повторяются каждую секунду, начиная с начала соединения и до конца.
Хм... Так может быть телефон вообще шлет RTP на неправильный номер порта (который MSP не слушает)? Связь-то при этом вообще работает?
comment:15 by , 3 years ago
Replying to alx:
Хм... Так может быть телефон вообще шлет RTP на неправильный номер порта (который MSP не слушает)? Связь-то при этом вообще работает?
Посмотрел SDP в INVITE и ответе "200 OK". Вроде бы все правильно - на стороне FS08 адрес 10.41.114.236 порт 10508, на стороне телефона адрес 192.168.20.100 порт 12242. И телефон шлет RTP с 192.168.20.100:12242 на 10.41.114.236:10508...
comment:17 by , 3 years ago
Resolution: | → не воспроизводится |
---|---|
Status: | new → closed |
comment:18 by , 3 years ago
Priority: | низкий → фигня |
---|---|
Resolution: | не воспроизводится |
Status: | closed → reopened |
У меня воспроизводится, но не каждый раз и сообщение Destination unreachble теперь не каждую секунду разговора а раз в 5 секунд.
Не знаю с чем связаны отличия в воспроизведении бага: по сравнению с предыдущим экспериментом изменилась версия прошивки, модель Sip-телефона и Sip в телефоне работает через TCP, а не UDP.
VE-02 ревизии 31
Дампы положил в xchange\alx\Test_and_bugs\VE-02\destination unreachable\