VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

SIP клиент > сервер > SIP клиент - приходят битые данные

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

asdxp
Сообщения: 13
Зарегистрирован: 12 май 2011, 12:38

Re: SIP клиент > сервер > SIP клиент - приходят битые данные

Сообщение asdxp »

Есть некий самописный клиент для мобильных телефонов. Заголовок RTP идет в следующем виде:
80 00 38 00 00 00 00 00 00 00 00 00 6A 00 1F E9 68
Далее идут данные:
42 F9 52 00 A4 3E B2 2D D9 E0 BC A0 5E C9 34 02 C5 90 72 F8 F6 69 94 B7 32 A7

На приеме другого девайса на такой же клиент - привожу полный пакет данных:
Error parsing packet, skipped:
80 80 99 7B 00 00 00 00 55 7B 46 1F 6A 00 1F E9 68 42 F9 52 00 A4 3E B2 2D D9 E0 BC A0 5E C9 34 02 C5 90 72 F8 F6 69 94 B7 32 A7 6A 00 1F E9 68 4C 2A 52 1E CA 52 0B A9 E6 F9 E7 B6 01 8F 23 32 C4 6C E8 A9 18 B2 C6 EA AF 5D 6A 00 1F E9 68 51 8F 53 53 DA 22 A6 89 D1 10 90 73 21 A9 23 32 5A 34 94 DC F0

Если пользовать другие клиенты - все работает нормально
Вопрос - почему на приеме бъет данные? Может разработчики неправильно формируют заголовок? Имею ввиду в самом SIP клиенте. Может есть какие настройки RTP на астериске - мы пользуем elastix. Хотя это видимо не суть.
Спасибо.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: SIP клиент > сервер > SIP клиент - приходят битые данные

Сообщение ded »

asdxp писал(а): У меня следующая задача - я шифрую поток данных на SIP клиенте и передаю на сервер, имею ввиду то, что говорит клиент. SIP клиент, с которым состоялся коннект принимает эти данные уже в совершенно другом виде, они битые. Без шифрования - все ок. Как я понимаю, что передал - то и принял.
Два одинаковых опыта передаче RTP - от SIP клиента другому SIP клиенту а) без шифрования - ОК, и б) с шифрованием (not OK), на уровне заголовков/данных
а) Заголовок
80 00 38 00 00 00 00 00 00 00 00 00 6A 00 1F E9 68
данные:
42 F9 52 00 A4 3E B2 2D D9 E0 BC A0 5E C9 34 02 C5 90 72 F8 F6 69 94 B7 32 A7
на другом конце данные принимаются точно так же
42 F9 52 00 A4 3E B2 2D D9 E0 BC A0 5E C9 34 02 C5 90 72 F8 F6 69 94 B7 32 A7

и
б) Заголовок
80 00 38 00 00 00 00 00 00 00 00 00 6A 00 1F E9 68
зашифрованные данные:
42 F9 52 00 A4 3E B2 2D D9 E0 BC A0 5E C9 34 02 C5 90 72 F8 F6 69 94 B7 32 A7
на другом конце те же данные принимаются как
30 82 04 E5 30 82 04 4E A0 03 02 01 02 02 0A 7A 56 28 09
(я правильно уловил?)
то, возможно, дело в способе укдадки данных в RTP.

Для чистого эксперимента сделайте передачу без Астериска, от одного SIP клиент другому, напрямую.
asdxp
Сообщения: 13
Зарегистрирован: 12 май 2011, 12:38

Re: SIP клиент > сервер > SIP клиент - приходят битые данные

Сообщение asdxp »

ок - спасибо! попробую. У меня еще есть подозрение что может программисты для SIP клиента неправильно заголовок пишут. Вот только вопрос - что именно надо в заголовке писать. Пока не нашел ответа
asdxp
Сообщения: 13
Зарегистрирован: 12 май 2011, 12:38

Re: SIP клиент > сервер > SIP клиент - приходят битые данные

Сообщение asdxp »

напрямую все отлично идет
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: SIP клиент > сервер > SIP клиент - приходят битые данные

Сообщение ded »

Напрямую отлично - без Астериска?
Тогда копните теорию: что такое софтсвич 4-го класса и что такое 5-го класса.
4-го класса - транзитный прокси (не изменяет SIP заголовки, хотя может), терминирует SIP клиентов напрямую (как в в Вашем опыте сейчас.
5-го класса - замыкают оба плеча через себя, переписывая SIP заголовки. Зачем это делают? Потому что только так можно осуществить транскодинг - конвертировать на ходу один кодек в другой например.

Астериск - не прокси, он B2BUA, он 5-го класса.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH