Yehuda_Panzer Опубликовано 6 декабря, 2010 · Жалоба Доброго времени суток ! Борюсь с проблемой странного поведения видео-телефона Grandstream GXV3140 в публичной сети оператора IP-телефонии. Сессия SIP проходит (примерно) по следующей цепочке : [некий видео-телефон (5963050)] ----> [sBC (ip: xxx.xxx.xxx.xxx)] ----> [softSwitch : Cisco BTS10200 (ip: yyy.yyy.yyy.yyy)] -----> [Grandstream GXV3140 (121) (ip:zzz.zzz.zzz.zzz)] Звонок инициируется удаленным видео-телефоном, проходит по вышеуказанной цепочке и достигает видеотелефон Grandstream. Последний не звонит, но на его мониторе отображается информация о входящем звонке. Однако в трубке - тишина и видео-поток не поднимается. Если телефон Grandstream , без изменения конфигурации, переносится на лабораторный стенд, где нет SBC, а роль софтсвича играет Астериск - все работает как часы, включая видео. К сожалению тяжеловато получить трассировку на каждом участке перехода схемы, но под рукой есть трассер порта телефона GXV (у него свой собственный, вмонтированный, трассировщик). Из этого трасера видно следующее : 1. Верхний уровень (формат pcap) : 21 6.414179 yyy.yyy.yyy.yyy zzz.zzz.zzz.zzz SIP/SDP Request: INVITE sip:121@zzz.zzz.zzz.zzz;user=phone, with session description 22 6.452196 zzz.zzz.zzz.zzz yyy.yyy.yyy.yyy SIP Status: 100 Trying 26 7.234596 zzz.zzz.zzz.zzz yyy.yyy.yyy.yyy SIP/SDP Status: 183 Session Progress, with session description 27 7.235827 zzz.zzz.zzz.zzz yyy.yyy.yyy.yyy SIP/SDP Status: 183 Session Progress, with session description 32 7.492277 zzz.zzz.zzz.zzz yyy.yyy.yyy.yyy SIP/SDP Status: 200 OK, with session description (здесь входящий звонок увидели, а не услышали, и подняли трубку) 35 7.536628 yyy.yyy.yyy.yyy zzz.zzz.zzz.zzz SIP Request: ACK sip:121@zzz.zzz.zzz.zzz:5060;transport=udp Трассировка RTP показывает, что поток идет только в одну сторону : от телефона GXV к софтсвичу. Ответнов - не следует. 2. Уровень раскрытия SIP & SDP - шаги сессии, указанные в п.1, смотреть в приатаченном файле раскройку черепа сессии выложить здесь в читабельном виде не удалось, поэтому смотрите вордовский файл Из трассировки видно, что телефон вместо "традиционного" ответа 180 Ringing, отвечает : 183 Session Progress. При этом этого не происходит в лаборатории, там, как говорится. все согласно протокола. Это наталкивает меня на мысль, что причина такого поведения телефона кроется не в его настройках, а в "общении" с окружением. Может я слишком долго смотрю на этот трассер, но я не вижу практически ничего крамольного. На уровне UDP и IP - все Ок. Возможно кто-нибудь сталкивался с подобным демоном и победил его ? GXV3140_issue.doc Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 6 декабря, 2010 · Жалоба См. "early media" С kamailio лечится ring_insert_callid() Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yehuda_Panzer Опубликовано 6 декабря, 2010 · Жалоба Early media - disabled на обоих энд-поинтах. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 6 декабря, 2010 · Жалоба См. по всей цепочке. SIP responce 183 это именно early media. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yehuda_Panzer Опубликовано 7 декабря, 2010 (изменено) · Жалоба Вы правы, ответ 183 - обычно это ответ на, к примеру, INVITE при включенном early media. Но при early media UAC-инициатор звонка шлет на UAS каждый набранный диджит в отдельном пакете INVITE. Если бы где то по цепочке эта опция и пропускалась бы, то на принимающей стороне в трейсе это было бы видно. Диалог, который я привел в первом посте - не усечен, он так и выглядит. Более того, SBC early media не пропускает - обычная практика превентивной защиты. Может ли на это влиять видео-поток ? Изменено 7 декабря, 2010 пользователем Yehuda_Panzer Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Aleck_K Опубликовано 7 декабря, 2010 (изменено) · Жалоба Доброго времени суток ![некий видео-телефон (5963050)] ----> [sBC (ip: xxx.xxx.xxx.xxx)] ----> [softSwitch : Cisco BTS10200 (ip: yyy.yyy.yyy.yyy)] -----> [Grandstream GXV3140 (121) (ip:zzz.zzz.zzz.zzz)] Звонок инициируется удаленным видео-телефоном, проходит по вышеуказанной цепочке и достигает видеотелефон Grandstream. Последний не звонит, но на его мониторе отображается информация о входящем звонке. Однако в трубке - тишина и видео-поток не поднимается. Посмотрел ваш диалог. Во-1, он снят на порте телефона 5963050, а не на порте 121. Во-2, где и какой видеопоток вы ждете? Пока early media идет? Такого не будет. На 5963050 гудок при исходящем вызове есть? Если 121 не звенит когда на него вызов приходит, у него просто громкость звонка нулевая. Видео должно подниматься только после того, как на 121 ответит. У вас этого не происходит потому, что БТС (или сбц, что менее вероятно) блокирует видео, либо на 121 видео выключено - посмотрите на sdp в 200ок - там нет описания видеопотока. Early media - disabled на обоих энд-поинтах.Ну и зря. Неаккуратненько это...Более того, SBC early media не пропускает - обычная практика превентивной защиты.Ничего обычного в такой практике нет. О какой защите может идти речь, если диалог уже авторизован, выбраны корректные кодеки и полоса им соответствует? Не надо блокировать early media - пользователи могут быть очень недовольны. Изменено 7 декабря, 2010 пользователем Aleck_K Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yehuda_Panzer Опубликовано 7 декабря, 2010 (изменено) · Жалоба Гм ... Как бы перепутал early media с другим механизмом. Пардон, бывает в конце трудного трудового будня. Ничто в цепочке не блокирует early media, конечно же. Однако, картину это не меняет. Не знаю, что дало уважаемому Aleck_K повод решить, что трейс был снят со стороны "некий видео-телефон", но я то знаю откуда я его снимал :))) Трейс был снят вмонтированным снифером телефона GXV3140 (№ 121). Скажите мне другое, коллеги. Я перерыл кучу информации и нигде не нашел иных примеров возникновения ответа 183, кроме как в примерах звонков VoIP ---> PSTN (к примеру RFC3666). Да в своей практике я только там и встречал этот ответ. Здесь же, по отношению к телефону GXV : -- сессия входящая -- телефон эту сессию никуда форвардить не настроен. Он должен просто ее терминировать. -- сессия VoIP-VoIP Буду благодарен, если поделитесь еще какими-нибудь примерами, когда этот ответ появляется. Изменено 7 декабря, 2010 пользователем Yehuda_Panzer Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Aleck_K Опубликовано 7 декабря, 2010 (изменено) · Жалоба Однако, картину это не меняет. Не знаю, что дало уважаемому Aleck_K повод решить, что трейс был снят со стороны "некий видео-телефон", но я то знаю откуда я его снимал :))) Трейс был снят вмонтированным снифером телефона GXV3140 (№ 121).Да, посмотрел на диалог еще раз - действительно в инвайте есть Via с адресом СБЦ, так что был не прав - трейс взят точно после SBC, видимо на 121. Смущает, что в User-Agent инвайта Grandstream GXV3140 1.0.5.4, т.е. 5963050 - грандстрим, но в юзер-аджент 200ОК написано BTS10200/900-06.00.01.V02 (SIA). Так что либо вы напутали с маскировкой адресов либо с направлением вызова в схеме. Выгрузите pcap в wireshark и сделайте statistic-voip call-graph, на графике будет сразу наглядно видно что и куда бегает. В таком случае, диагноз - в 200 ок нет описания для видеопотока. Буду благодарен, если поделитесь еще какими-нибудь примерами, когда этот ответ появляетсяПара примеров из практики: - музыка вместо гудков для вызывающего абонента, актуально в том числе и для voip-voip. - на входящем вызове хочется проиграть некое приветствие ("у нас в офисе никого нет, все ушли на фронт") и отбить вызов. Если вызов платный для вызывающей стороны, она будет недовольна тем, что ее заставляют платить за такой вот вызов, а с early media и овцы целы и волки сыты Изменено 7 декабря, 2010 пользователем Aleck_K Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
leveler Опубликовано 8 декабря, 2010 · Жалоба А мне вот почему-то кажется, что абонент А в данном случае - Грандстрим. Ибо: 1. есть заголовок Authorization; 2. в заголовке User-Agent указана модель устройства; 3. в сообщениях 183 есть заголовок "Server: BTS10200/900-06.00.01.V02 (SIA)". Про видео вам сказали - его описания нет в ответных SDP. Смущают два абсолютно идентичных 183 Session Progress и отсутствие 180 Ringing (об этом уже говорили выше). Можете выложить схему "когда всё работает" для сверки и приложить дамп к ней. Кстати, местонахождение не Киев случаем? ) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yehuda_Panzer Опубликовано 8 декабря, 2010 · Жалоба 2Aleck_K : Спасибо за примеры. 2leveler : Киев, это видно из "подписи" софтсвича в трейсе. Еще раз повторю, что трейс снимался с телефона. который и является проблемой/темой данной темы. Вызов приходит именно на него : GXV3140, ip address : zzz.zzz.zzz.zzz:5060 Схема, приведенная ранее, сейчас уточняется : исходя из трейса, я не совсем уверен, что Softswitch и SBC (Session Border Controller) не надо бы поменять местами. Я этот момент сейчас уточняю. Видео, в данном случае - не первоочередная задача. Каюсь, когда снимался дамп - камера была отключена (есть отдельная кнопка). Включение камеры - не вносит изменений в поведение телефона. Естественно, в 200 Ок добавляется описание видео-сессии в SDP. Вопрос этого топика : почему телефон, на нормальную, с точки зрения протокола, сессию отвечает не 180 + звонок, а НЕ звенит и отвечает 183 (это не шлюз между сетями). Или я чего-то аномального не вижу в конфигурации, что лежит у меня перед носом. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 8 декабря, 2010 · Жалоба С early media проблемой является шлюз оригинатор, если он не умеет с ней работать. А такого г. на рынке полно и выражается самым неожиданным способом. Кардинальное решение - аналог "ring_insert_callid()" для имеющегося SBC или для BTS. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...