Протокол H.323 Что отправляет и получает конечная точка для конечной точки для инициирования вызова? - PullRequest
0 голосов
/ 17 августа 2011

В H.323 как работает протокол сообщения между конечной точкой и конечной точкой?В большинстве примеров, которые я видел, было задействовано привратник посередине, но на самом деле я хочу сделать простого игрока от конечной точки до конечной точки H.323, используя (c / java / lua / php / d tcp / udp)

Чтопротоколы сообщений RAW, которые я должен отправлять, например, в SIP, я обнаружил, что такие пакеты отправляются (https://gist.github.com/1151125)

Ответы [ 3 ]

4 голосов
/ 17 августа 2011

В H.323 используется несколько уровней протоколов: RAS, Q.931, H.245, а затем RTP и RTCP

Сообщения RAS отправляются по UDP. Они являются связью между конечной точкой и его привратником в большинстве сценариев: вы регистрируетесь на привратнике с помощью RRQ, вы начинаете инициировать вызов с помощью ARQ и т. Д. После завершения части вызова (ARQ), привратник отправляет ACF - подтверждение приема - где он сообщает, куда вам нужно отправить сообщение SETUP Q.931.

Q.931 сообщения обычно отправляются по TCP. Они используются для установления вызова между конечными точками. Они могут быть направлены через привратник или любое другое посредническое устройство, или они могут быть отправлены непосредственно между конечными точками. Исходное отправленное сообщение Q.931 - это SETUP, за которым в конце концов следует сообщение CONNECT Q.931.

Как только Q.931 установлен, затем передается сигнал H.245 для управления вызовами (обмена возможностями и открытия логических каналов). Это можно сделать через туннель Q.931 или по отдельному TCP-соединению. И снова - в конечном итоге это может быть направлено через привратник или непосредственно между конечными точками.

RTP и RTCP - это конец согласования H.245, и именно там находятся фактические носители.

1 голос
/ 17 августа 2011

В C ++ существует реализация с открытым исходным кодом: OpenH323 (указывает на википедию, в которой есть еще несколько ссылок на страницы OpenH323).

0 голосов
/ 26 августа 2011

Вот пример захвата Wireshark для вызова H323: http://wiki.wireshark.org/SampleCaptures http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=view&target=rtp_example.raw.gz

Отвечая на комментарии, сложность реализации SIP на обычном языке программирования не является честным сравнением. SIP - это простой текст, разработанный для простоты и понимания. Суть поддержки библиотеки, в которой вы нуждаетесь, - это манипуляции со строками.

И поверьте мне, самостоятельная реализация H323 без библиотек - это не реализация SIP на языке без строк, это как реализация SIP без компилятора.

...