681455797 Осипов В.С. Описание программного интерфейса между модулями MCTRL и IPCOM (версия №3 от 10.05.10) 1. Сигналы инициализации Из модуля MCTRL в модуль IPCOM передается сигнал запроса инициализации модуля IPCOM - InitIPCOM_RQ со следующими параметрами: - номер UDP-порта (2 байта) - нижняя граница области номеров UDP-портов для RTP-пакетов, - собственный IP-адрес (4 байта), - маска IP-сети (4 байта). В модуль MCTRL из модуля IPCOM передается ответный сигнал InitIPCOM_I, оповещающий об окончании инициализации модуля IPCOM. 2. Сигналы записи в таблицы управления коммутацией Из модуля MCTRL в модуль IPCOM передаются следующие сигналы записи: wr_Sender_Table - сигнал записи в таблицу Sender_Table. Параметры: - номер строки таблицы Sender_Table (integer), - MAC-адрес назначения для отправки IP-пакетов (6 байт), - IP-адрес назначения (4 байта), - UDP-порт источника (Source Port) (2 байта), - UDP-порт назначения (Destination Port) (2 байта), - SSRC - (4 байта) идентификатор источника синхронизации, - длина звуковых данных, передаваемых в RTP-пакете (integer), единица равна 0,125 мс (для G.729 должна быть кратна длине кадра - 10 мс), - аудио-кодек (1 байт): 1 - G.711 A-law, 6 - G.729A. wr_Receiver_Table - сигнал записи в таблицу Receiver_Table. Параметры: - номер строки таблицы Receiver_Table (integer), - DA - (6 байт) MAC-адрес брикета назначения, - RP - (4 байта) для двустороннего разговора - идентификатор порта назначения внутри брикета назначения, - RP_TYPE - (1 байт) тип параметра RP, для двустороннего разговора RP_TYPE=0, - UDP-порт назначения (Destination Port) в принимаемой UDP-дейтаграмме. 3. Сообщения об ошибках В модуль MCTRL из модуля IPCOM передаются сигналы Err_IPCOM сообщений об ошибках, содержащие в качестве параметра однобайтный код ошибки. Применяемые коды ошибок приведены в пакете I_MCTRL_IPCOM. 4. Описание сигналов на языке SDL InitIPCOM_RQ (arr2octets, IPAddr, IPAddr), /* Запрос инициализации модуля IPCOM. Параметры: - нижняя граница области номеров UDP-портов для RTP-пакетов; - собственный IP-адрес; - маска IP-сети. */ 681455797 InitIPCOM_I, 2 /* Подтверждение инициализации модуля IPCOM */ wr_Sender_Table (integer, MAC, IPAddr, arr2octets, arr2octets, arr4octets, integer, octet), /* Сигнал записи в таблицу Sender_Table процесса IPCOM. Параметры: - номер строки таблицы Sender_Table, - MAC-адрес назначения для отправки IP-пакетов, - IP-адрес назначения, - UDP-порт источника (Source Port), - UDP-порт назначения (Destination Port), - SSRC, - длина звуковых данных, передаваемых в RTP-пакете, единица равна 0,125 мс (для G.729 должна быть кратна длине кадра - 10 мс), - аудио-кодек: 1 - G.711 A-law, 6 - G.729A */ wr_Receiver_Table (integer, MAC, integer, octet, arr2octets), /* Сигнал записи в таблицу Receiver_Table процесса IPCOM. Параметры: - номер строки таблицы Receiver_Table, - DA - MAC-адрес брикета назначения, - RP - для двустороннего разговора - идентификатор порта назначения внутри брикета назначения, - RP_TYPE - тип параметра RP, для двустороннего разговора RP_TYPE=0, - UDP-порт назначения (Destination Port) в принимаемой UDP-дейтаграмме */ Err_IPCOM (octet); /* Сообщение об ошибке в модуле IPCOM, параметр - код ошибки.*/ NEWTYPE MAC /* MAC ADDRESS */ array(Index_m,octet) ENDNEWTYPE; SYNTYPE Index_m=integer constants 1:6 ENDSYNTYPE; NEWTYPE IPAddr Array (IPAddrIndex, Octet) ENDNEWTYPE; SYNTYPE IPAddrIndex = Integer constants 0:IP_OCTETS_NUM-1 ENDSYNTYPE; SYNONYM IP_OCTETS_NUM Integer= 4; NEWTYPE arr2octets array (arr2octets_index, octet) ENDNEWTYPE; SYNTYPE arr2octets_index = Integer constants 0:1 ENDSYNTYPE; NEWTYPE arr4octets array (arr4octets_index, octet) ENDNEWTYPE; SYNTYPE arr4octets_index = Integer constants 0:3 ENDSYNTYPE; 681455797 3 5. Программная реализация интерфейса Программная реализация интерфейса определяется Певзнером. 6. Форматы сигналов могут уточняться в ходе разработки ПО.