Модуль 2-го уровня

advertisement
681455497
Осипов В.С.
Описание работы модуля IPCOM в системе
(версия №2 от 7.03.06)
Отличие от предыдущей версии – п.п.3.2 - 3.4 приведены в соответствие с I_MCTRL_IPCOM-v2.doc.
1. Назначение модуля IPCOM
Назначение модуля IPCOM –
коммутация звуковых кадров, поступающих в брикет шлюза от других брикетов станции,
во внешнюю сеть в составе IP-пакетов по протоколу H.323,
и коммутация в обратном направлении - коммутация звуковых кадров, приходящих в
брикет шлюза из внешней сети в составе IP-пакетов по протоколу H.323, в другие
брикеты станции.
2. Интерфейсы модуля IPCOM
2.1.
Обмен звуковыми кадрами с брикетами станции осуществляется по интерфейсу
I_IPCOM_IPDSP с модулем IPDSP – см. «Описание программного интерфейса
между модулями IPCOM и IPDSP”.
2.2.
Обмен IP-пакетами с внешней сетью осуществляется по интерфейсу
I_DETH_IPCOM с модулем DETH – см. «Описание программного интерфейса
между модулями DETH и IPCOM”.
2.3.
Таблицы управления коммутацией в модуле IPCOM заполняются информацией,
поступающей из модуля MCTRL_G по интерфейсу I_MCTRL_IPCOM - см.
«Описание программного интерфейса между модулями MCTRL и IPCOM”.
2.4.
Полученные из модуля DETH IP-пакеты, не содержащие звуковые кадры,
передаются в модуль MIP в сигналах MADI_nt (описание сигнала см. в «Описании
программного интерфейса между модулями DETH и IPCOM”).
3. Описание работы модуля IPCOM
3.1.
По сигналу инициализации InitIPCOM_RQ производится обнуление таблиц
управления коммутацией Sender_Table и Receiver_Table.
Затем выдается сигнал уведомления об окончании инициализации модуля IPCOM
- InitIPCOM_I.
3.2.
Коммутация звуковых кадров от брикетов станции во внешнюю сеть
осуществляется по информации таблицы Sender_Table.
Коммутация звуковых кадров из внешней сети в брикеты станции осуществляется
по информации таблицы Receiver_Table.
Каждая строка таблицы соответствует условному каналу шлюза.
По принятии решения (в модуле MCTRL_G) о передаче звуковой информации
от брикета станции во внешнюю сеть, в строку таблицы Sender_Table,
соответствующую свободному исходящему каналу шлюза, сигналом
wr_Sender_Table заносится адресная информация во внешней сети
(IP-адрес назначения и MAC-адрес назначения, являющийся MAC-адресом
конечного узла назначения, если он находится в той же сети, что источник, или
MAC-адресом соответствующего ближайшего маршрутизатора),
номера UDP-порта источника и UDP-порта назначения
и значение SSRC (идентификатор источника синхронизации передаваемой
звуковой информации).
При этом брикету станции, от которого будут передаваться звуковые кадры,
сообщается номер канала шлюза (номер строки таблицы Sender_Table) для
использования в качестве значения RP при TYPE=0.
681455497
2
По принятии решения о передаче звуковой информации из внешней сети в брикет
станции, в строку таблицы Receiver_Table, соответствующую свободному
входящему каналу шлюза, сигналом wr_Receiver_Table заносится адресная
информация брикета станции (MAC-адрес брикета, RP и RP_TYPE) и
номер UDP-порта назначения в принимаемых UDP-дейтаграммах.
3.3.
Звуковой кадр из брикета станции (содержащий звуковую информацию от одного
источника, накопленную за 2 мс) поступает из модуля DETH в модуль IPCOM
через модуль IPDSP, где производится компандирование каждого из
содержащихся в кадре 16-ти двухбайтных звуковых отсчетов в однобайтный
отсчет согласно G.711, A-law.
(В будущем, возможно, потребуется укрупнять звуковые кадры перед отправкой во внешнюю сеть,
для уменьшения внешнего потока. Хотя вряд ли, поскольку это увеличит задержку звука.)
Интерфейс модуля DETH с модулем IPDSP идентичен интерфейсу модуля DETH
с модулем MDSP.
Сигнал MADI_st, содержащий звуковой кадр, а также RP, TYPE и SN, попадает в
сервис Nt_Sender, где звуковой кадр записывается в IP_packet_sound!RTP_data и
последовательно работают следующие процедуры для формирования заголовков
IP-пакета:
-
H323MG_Sender:
- при TYPE=0 присвоение переменной индекса таблицы (номера строки)
значения RP;
- вычисление значения двухбайтного порядкового номера
Sender_Table(index)!SN и четырехбайтной метки времени (единица
соответствует 0,125 мс) Sender_Table(index)!TS.
-
RTP_Sender:
- формирование заголовка RTP-пакета в IP_packet_sound!RTP_header,
в частности, в поля заголовка вписываются следующие значения:
в поле "sequence number" - Sender_Table(index)!SN,
в поле "timestamp" Sender_Table(index)!TS,
в поле "synchronization source (SSRC) identifier" - Sender_Table(index)!SSRC.
-
UDP_Sender:
- формирование заголовка UDP-пакета в IP_packet_sound!UDP_header,
при этом в поля заголовка "Source Port" и "Destination Port"
вписываются значения Sender_Table(index)!S_UDP_port и
Sender_Table(index)!D_UDP_port.
-
IP_Sender:
- формирование заголовка IP-пакета в IP_packet_sound!IP_header,
при этом в поле IP-адреса назначения вписывается значение
Sender_Table(index)!D_IPAddr.
Сформированный в IP_packet_sound IP-пакет со звуковыми данными выдается
в сигнале MADR_nt_sound в модуль DETH для выдачи в IP-сеть в Ethernet-кадре
соответствующего формата (см. п.1.1 «Описания программного интерфейса
между модулями DETH и IPCOM”).
3.4.
Принятый модулем DETH IP-пакет передается в сигнале MADR_nt в модуль
IPCOM, где попадает в сервис Nt_Receiver.
В процедуре Check_UDP_RTP_type проверяется - вложена ли в полученный
IP-пакет UDP-дейтаграмма, содержащая RTP-пакет, т.е. содержит ли IP-пакет
звуковые данные.
Если нет, то сигнал MADR_nt отправляется в модуль MIP.
681455497
3
Если да, то информация IP-пакета проходит обработку в процедурах IP_Receiver,
UDP_ Receiver и RTP_ Receiver, где проходят проверку и декодирование
заголовки соответственно IP-пакета, UDP-сегмента и RTP-пакета, и извлекаются
звуковые данные.
По извлеченному из заголовка RTP-пакета номеру UDP-порта назначения,
производится поиск строки в таблице Receiver_Table с равным значением
UDP_port.
При положительном результате поиска из модуля IPCOM отправляется сигнал
MADR_st, содержащий звуковые данные (8 или 16 однобайтных звуковых
отсчетов согласно G.711, A-law), адресную информацию приемника в станции, а
также четырехбайтную метку времени (единица младшего разряда соответствует
0,125 мс), полученную в принятом RTP-пакете.
(В будущем, возможно, потребуется укрупнять звуковые кадры передаваемые через внешнюю
сеть, для уменьшения внешнего потока. Хотя вряд ли, поскольку это увеличит задержку звука.)
Звуковые данные передаются в модуль DETH через модуль IPDSP, где
производится декомпандирование каждого однобайтного звукового отсчета в
двухбайтный отсчет и формирование звуковых кадров по 16 отсчетов.
Download