Проблема с конфигурацией Restcomm gmlc: нет локального SSN для основного адреса

Я столкнулся с проблемой при попытке настроить restcomm gmlc на сервере Windows 2008 R2. Я получаю это сообщение

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

На рисунке ниже показаны настройки для HLR и сервера Windows.

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

И ниже приведены настройки

GmlcManagement_gmlcproperties.xml

<?xml version="1.0" encoding="UTF-8" ?>
<gmlcgt value="237694000089"/>
<gmlcssn value="145"/>
<hlrssn value="6"/>
<mscssn value="6"/>
<maxmapv value="3"/>

Mtp3UserPart_m3ua1.xml

<?xml version="1.0" encoding="UTF-8" ?>
<heartbeattime value="10000"/>
<aspFactoryList>
    <aspFactory name="timbr_asp1" assocName="timbr_ass1" started="false" maxseqnumber="256" aspid="2" heartbeat="false"/>
</aspFactoryList>
<asList>
    <as name="timbr_as1" minAspActiveForLb="1" functionality="IPSP" exchangeType="SE" ipspType="CLIENT">
        <routingContext size="1">
            <rc value="102"/>
        </routingContext>
        <networkAppearance value="8"/>
        <trafficMode mode="2"/>
        <defTrafficMode mode="2"/>
        <asps>
            <asp name="timbr_asp1"/>
        </asps>
    </as>
</asList>
<route>
    <key value="89:42:3"/>
    <routeAs trafficModeType="2" as="timbr_as1"/>
</route>

SccpStack_sccpresource2.xml

<?xml version="1.0" encoding="UTF-8" ?>
<remoteSsns>
    <id value="1"/>
    <value remoteSpc="42" remoteSsn="6" remoteSsnFlag="0" markProhibitedWhenSpcResuming="false"/>
</remoteSsns>
<remoteSpcs>
    <id value="1"/>
    <value remoteSpc="42" remoteSpcFlag="0" mask="0"/>
</remoteSpcs>
<concernedSpcs/>

SccpStack_sccprouter2.xml

<?xml version="1.0" encoding="UTF-8" ?>
<rule>
    <id value="1"/>
    <value ruleType="Solitary" loadSharingAlgo="Undefined" originatingType="RemoteOriginated" mask="K" paddress="1" saddress="-1" networkId="0">
        <patternSccpAddress pc="42" ssn="6">
            <ai value="18"/>
            <gt type="GT0100" tt="0" es="2" np="1" nai="4" digits="237694000089"/>
        </patternSccpAddress>
    </value>
    <id value="2"/>
    <value ruleType="Solitary" loadSharingAlgo="Undefined" originatingType="LocalOriginated" mask="K" paddress="2" saddress="-1" networkId="0">
        <patternSccpAddress pc="89" ssn="145">
            <ai value="16"/>
            <gt type="GT0100" tt="0" es="1" np="1" nai="4" digits="*"/>
        </patternSccpAddress>
    </value>
</rule>
<routingAddress>
    <id value="1"/>
    <sccpAddress pc="89" ssn="145">
        <ai value="19"/>
        <gt type="GT0100" tt="0" es="2" np="1" nai="4" digits="237694000089"/>
    </sccpAddress>
    <id value="2"/>
    <sccpAddress pc="42" ssn="6">
        <ai value="17"/>
        <gt type="GT0100" tt="0" es="1" np="1" nai="4" digits="*"/>
    </sccpAddress>
</routingAddress>
<longMessageRule/>
<sap>
    <id value="1"/>
    <value mtp3Id="1" opc="42" ni="2" networkId="1">
        <mtp3DestinationMap>
            <id value="1"/>
            <value firstDpc="1" lastDpc="16384" firstSls="0" lastSls="255" slsMask="255"/>
        </mtp3DestinationMap>
    </value>
</sap>

SCTPManagement_sctp.xml

<?xml version="1.0" encoding="UTF-8" ?>
<connectdelay value="5000"/>
<servers/>
<associations>
    <name value="timbr_ass1"/>
    <association name="timbr_ass1" assoctype="CLIENT" hostAddress="172.22.118.131" hostPort="2609" peerAddress="192.168.212.185" peerPort="2609" serverName="" ipChannelType="0" extraHostAddresseSize="0"/>
</associations>

TcapStack_management.xml

<?xml version="1.0" encoding="UTF-8" ?>
<dialogidletimeout value="60000"/>
<invoketimeout value="30000"/>
<maxdialogs value="5000"/>
<dialogidrangestart value="1"/>
<dialogidrangeend value="2147483647"/>
<donotsendprotocolversion value="false"/>
<statisticsenabled value="false"/>

person NDZIE Patrick Joel    schedule 13.12.2017    source источник
comment
Привет, Патрик, я бы посоветовал вам поднять вопрос о проекте GitHub (github.com/RestComm/gmlc), чтобы получить ответ на что-то вроде этого.   -  person gsaslis    schedule 02.01.2018


Ответы (1)


Я вижу довольно много проблем в поднятом вопросе, хотя я думаю, что ваша проблема заключается в файле jboss-beans.xml (доберется туда позже), важно прояснить их, поскольку они потенциально могут быть причиной проблем.

1) SSN должен быть 145 в соответствии со спецификациями, и вы правильно указали его в файлах конфигурации Restcomm GMLC, но на изображении он отображается как 147 (что не подходит, так как это SSN для gsmSCF, не для GMLC). Вы уверены, что у оператора мобильной связи 145 и это всего лишь опечатка в изображении?

2) Номер SSN MSC равен 8, а не 6, как указано в значении mscssn в файле GmlcManagement_gmlcproperties.xml. Измените это на 8, пожалуйста.

3) Вы уверены в значениях routingContext и networkAppearance или просто скопировали их из профиля симулятора?

Имея это в виду, ваша основная проблема, скорее всего, связана со следующими двумя файлами конфигурации:

1) Проверьте $GMLC_HOME/jboss-5.1.0.GA/server/default/deploy/restcomm-gmlc-server/META-INF/jboss-beans.xml TCAP Service раздел... он должен выглядеть так:

    <!-- ==================================================================== -->
    <!-- TCAP Service -->
    <!-- ==================================================================== -->
    <bean name="GMLC_TcapStack" class="org.mobicents.protocols.ss7.tcap.TCAPStackImpl">
        <constructor>
            <parameter>TcapStack</parameter>
            <parameter>
                <inject bean="GMLC_SccpStack" property="sccpProvider" />
            </parameter>
            <parameter>145</parameter>
        </constructor>
        <property name="persistDir">${jboss.server.data.dir}</property>
        <!--
        <property name="dialogIdleTimeout">60000</property>
        <property name="invokeTimeout">30000</property>
        <property name="maxDialogs">25000</property >
        -->
    </bean>

Во-первых, вы уверены, что 145 там есть? Снова и снова, как указано в пункте 1), уверены ли вы, что MNO и ваша конфигурация согласуются?

2) Конфигурация правила маршрутизации в SccpStack_sccprouter2.xml может привести к проблемам, установите значения pc и ssn на 0. > в patternSccpAddress, например:

<rule>
    <id value="1"/>
    <value ruleType="Solitary" loadSharingAlgo="Undefined" originatingType="RemoteOriginated" mask="K" paddress="1" saddress="-1" networkId="0">
        <patternSccpAddress pc="0" ssn="0">
            <ai value="18"/>
            <gt type="GT0100" tt="0" es="2" np="1" nai="4" digits="237694000089"/>
        </patternSccpAddress>
    </value>
    <id value="2"/>
    <value ruleType="Solitary" loadSharingAlgo="Undefined" originatingType="LocalOriginated" mask="K" paddress="2" saddress="-1" networkId="0">
        <patternSccpAddress pc="0" ssn="0">
            <ai value="16"/>
            <gt type="GT0100" tt="0" es="1" np="1" nai="4" digits="*"/>
        </patternSccpAddress>
    </value>
</rule>

Пожалуйста, держите нас в курсе, удачи и всего наилучшего, Фернандо Мендиорос.

person Fernando Mendioroz    schedule 10.01.2018
comment
Здравствуйте, я применил все указанные вами шаги, и связь между gmlc и сервером STP установлена, но теперь я получаю эту ошибку, когда пытаюсь сделать запрос карты ati 15:27:06,574 ОШИБКА [M3UAManagementImpl] (SLEE- EventRouterExecutor-4-thread-1) Tx: AS не найдено для маршрутного сообщения TransferMessage: {528=Protocol opc=89 dpc=42 si=3 ni=2 sls=3} - person NDZIE Patrick Joel; 23.01.2018
comment
Еще раз здравствуйте, Фернандо, просмотрев репозиторий github restcomm gmlc, я обнаружил, что последний бинарный выпуск, который я использую, датирован 20 сентября 2016 года, а самой новой версии нет, и проблема, с которой я столкнулся, уже поднималась в Restcomm Gmlc google. group в 2016 году. Поэтому я полагаю, что проблема была решена с тех пор. Не могли бы вы предоставить мне последнюю двоичную версию? - person NDZIE Patrick Joel; 23.01.2018
comment
Придется ли мне устанавливать его из исходного кода, как указано в github? - person NDZIE Patrick Joel; 23.01.2018
comment
Привет, @NDZIEPatrickJoel! Последние выпуски всегда можно найти здесь: github.com/RestComm/gmlc/releases Вы можете сделать это в обоих направлениях. В любом случае, это, похоже, проблема с конфигурацией. Вы вносили изменения при отключенном GMLC, а затем перезапускали его? Вам нужно остановить сервер JBoss, затем внести изменения и после этого запустить его снова, чтобы новые параметры были приняты. - person Fernando Mendioroz; 24.01.2018
comment
Здравствуйте, @Fernando Mendioroz. Я успешно настроил сервер gmlc, и связь между STP и GMLC установлена, но когда я пытаюсь выполнить запрос карты ati (curl -X POST 172.21.75.34:8080/restcomm/gmlc/rest?msisdn=237699947943 ) я получаю эту ошибку сервер делает не поддерживает функциональность, необходимую для выполнения этого запроса () Но когда я пытаюсь выполнить тот же запрос с фиктивным msisdn 19395550113, я получаю ответ. Пожалуйста, что это значит? - person NDZIE Patrick Joel; 31.01.2018
comment
Вот что я получаю в журнале сервера 2018-01-31 17:03:15,584 ОШИБКА [org.mobicents.protocols.ss7.m3ua.impl.SignalingNetworkManagementHandler] (Thread-37) Rx: DUNA = DUNA Params( AffectedPointCode pointCode=[78] mask=[0], ) Но функциональность AppServer отличается от As. Отправка обратно ErrorCode.Unexpected_Message - person NDZIE Patrick Joel; 31.01.2018
comment
Привет @NDZIEPatrickJoel, рад, что тебе удалось установить ссылки. В команде нет ничего плохого, она должна работать. Но для журнала сервера, который вы предоставляете, вы получаете DUNA (пункт назначения недоступен). Что-то не так между GMLC и базовой сетью. Другая проблема, с которой вы можете столкнуться, заключается в том, что GMLC GT должен быть разрешен в HLR для выполнения ATI, в противном случае вы получите ошибку ATI не разрешена. У вас есть трассировка pcap, на которую можно посмотреть? - person Fernando Mendioroz; 02.02.2018
comment
Привет, Фернандо, вот несколько строк, которые я записал с помощью wireshark. 0.498697613 192.168.212.185 -› 172.21.75.34 SCTP 70 HEARTBEAT 0.498753415 172.21.75.34 -› 192.168.212.185 SCTP 70 HEARTBEAT_ACK 1.115210818 192.168.212.185 -› 172.21.75.34 SCTP 70 HEARTBEAT 1.117412789 172.21.75.34 -› 192.168.212.185 SCTP 70 HEARTBEAT_ACK 1.735153820 192.168 .212.185 -> 172.21.75.34 SCTP 70 HEARTBEAT 1.735212449 172.21.75.34 -> 192.168.212.185 SCTP 70 HEARTBEAT_ACK (172.21.75.34 — IP-адрес GMLC и 192.168.212.185 — IP-адрес STP)5 - person NDZIE Patrick Joel; 06.02.2018
comment
Здравствуйте, Фернандо. Не могли бы вы предоставить мне рабочую конфигурацию для Restcomm GMLC и HLR? Может быть, это поможет мне понять, что я делаю неправильно. tshark trace показывает только HEARTBEAT и HEARTBEAT_ACK, но GMLC не инициирует никаких сообщений. - person NDZIE Patrick Joel; 07.02.2018
comment
@NDZIEPatrickJoel Извините, но я не могу публично предоставлять ни конфигурацию, ни следы оперативных развертываний GMLC клиента, в том числе для соглашений о неразглашении между сторонами. Я мог бы дать вам простой пример конфигурации с зашифрованными номерами учетных данных SS7 для реального развертывания, но в любом случае мне потребуется разрешение от исполнительной команды. Пожалуйста, отправьте электронное письмо по адресу [email protected] или рассмотрите возможность приобретения профессиональных услуг, и мы будем рады помочь вам разобраться в этом. Или обратитесь к нашей онлайн-документации: restcomm.com/docs/core/ss7 /SS7_Stack_User_Guide.html#_managing - person Fernando Mendioroz; 13.02.2018