Mobicents JSS7 - создание ассоциации sigtran

Я начинаю играть с Mobicents JSS7 - Sigtran... Я пытаюсь запустить ассоциацию Sigtran. У меня есть: - запустил sctp - запустил m3ua

Как я мог понять, как только M3UA запускается, ассоциация sigtran должна начать согласование между сервером / клиентом, первым этапом которого является "INIT" и "INIT ACK" на уровне SCTP/M3UA. Я мог видеть клиента, отправляющего INIT, но параметры параметров не то, что я ожидал:

введите описание изображения здесь

потому что, сравнивая INIT, какая другая система, к которой у меня есть доступ, я вижу INIT:

введите описание изображения здесь

как вы можете видеть, мне не хватает отправить "параметр адреса IPv4" в INSS JSS7... в этом случае, вы знаете, если это что-то настраиваемое, что мне не хватает для настройки в том же коде, который я прикрепил Вот?

Любая помощь приветствуется.

Благодарю.

Это код, который я пытаюсь:

import org.mobicents.protocols.api.IpChannelType;
import org.mobicents.protocols.sctp.ManagementImpl;
import org.mobicents.protocols.ss7.m3ua.ExchangeType;
import org.mobicents.protocols.ss7.m3ua.Functionality;
import org.mobicents.protocols.ss7.m3ua.IPSPType;
import org.mobicents.protocols.ss7.m3ua.impl.AspImpl;
import org.mobicents.protocols.ss7.m3ua.impl.M3UAManagementImpl;
import org.mobicents.protocols.ss7.m3ua.impl.parameter.ParameterFactoryImpl;
import org.mobicents.protocols.ss7.m3ua.parameter.RoutingContext;
import org.mobicents.protocols.ss7.m3ua.parameter.TrafficModeType;

public class ClientSCTPM3UA2 {

        static String SERVER_NAME = "testserver";
        static String SERVER_IP = "192.168.1.127";
        static int SERVER_PORT = 2906;

        static String CLIENT_IP = "192.168.1.128";
        static int CLIENT_PORT = 2906;

        protected final static int CLIENT_SPC = 1;
        protected final static int SERVET_SPC = 2;

        static String SERVER_ASSOCIATION_NAME = "serverAssociation";
        protected final static String CLIENT_ASSOCIATION_NAME = "clientAsscoiation";

        private static M3UAManagementImpl clientM3UAMgmt;

        public static void main(String[] args) throws Exception {

                IpChannelType ipChannelType = IpChannelType.SCTP;

                ManagementImpl sctpManagement = new ManagementImpl("Client");
                sctpManagement.setSingleThread(true);
                sctpManagement.start();
                sctpManagement.removeAllResourses();
                sctpManagement.setConnectDelay(5000);


                // 1. Create SCTP Association
                sctpManagement.addAssociation(CLIENT_IP, CLIENT_PORT, SERVER_IP, SERVER_PORT, CLIENT_ASSOCIATION_NAME,
                                ipChannelType, null);

                System.out.println("Starting SCTP stack...");

                // mtp3UserPartListener = new Mtp3UserPartBaseImpl();


                clientM3UAMgmt = new M3UAManagementImpl("Client", null);
                //m3uaMgmt.setPersistDir("/tmp");
                clientM3UAMgmt.setTransportManagement(sctpManagement);
                clientM3UAMgmt.setDeliveryMessageThreadCount(2);
                clientM3UAMgmt.start();
                clientM3UAMgmt.removeAllResourses();

                ParameterFactoryImpl factory = new ParameterFactoryImpl();

                RoutingContext rc = factory.createRoutingContext(new long[] { 100l });
                TrafficModeType trafficModeType = factory.createTrafficModeType(TrafficModeType.Loadshare);

                clientM3UAMgmt.createAs("AS1", Functionality.AS, ExchangeType.SE, IPSPType.CLIENT, rc, trafficModeType, 0, null);


                clientM3UAMgmt.createAspFactory("ASP1", CLIENT_ASSOCIATION_NAME);

                AspImpl asp = clientM3UAMgmt.assignAspToAs("AS1", "ASP1");

                clientM3UAMgmt.addRoute(SERVET_SPC, -1, -1, "AS1");

                clientM3UAMgmt.startAsp("ASP1");

                Thread.sleep(60000);

        }

}

2 ответа

У вас работает сервер SCTP?

Из того, что я видел в сообщениях SIGTRAN, должен быть отправлен SCTP INIT, а уровень SCTP должен быть подключен к тому времени, когда вы отправляете ASP UP для M3UA.

Одно замечание о том, что ЗАКРЫТО состояние сокета. Кажется, есть ошибка в драйвере Linux SCTP, который вешает сокеты в состоянии ЗАКРЫТО. К сожалению, я нашел только два решения этой проблемы. Либо подождите, пока не истечет время ожидания, и не удалите его из ОС, либо перезапустите саму ОС. Что бы ни было быстрее, используйте этот метод.

Другие вопросы по тегам