TX и RX на разных IP

Интересно, позволяет ли ESME этот конфиг:

Клиент подключается с тем же system_id, что и TX с одного компьютера (первый IP) и как TRX с другого (второй IP)

        <--- TX (X.X.X.123)
[ MySRV ]
        ---> TRX (X.X.X.124)

Теперь кажется, что я отправил отчеты о доставке в TX, как только получил их от него.

Это должно быть запрограммировано на уровне программного обеспечения, верно? И неисправность на моей стороне?

Спасибо за мысли, просто не могу найти похожую ситуацию в Google.

С уважением, Ведран

ОБНОВЛЕНИЕ: Как я понимаю протокол SMPP больше - если вы столкнулись с такой проблемой, вы всегда можете связаться со мной. Но в конце проблема будет в вашей реализации.

1 ответ

Решение

Нам нужно присмотреться к вашему сценарию.

Если вы используете сеанс TX для DLR (отчетов о доставке), инкапсулированных в пакеты delivery_sm, то вы нарушаете спецификации, и неисправность на вашей стороне.

Сеансу TX не разрешено принимать пакеты delivery_sm. Изучите http://opensmpp.org/specs/SMPP_v3_4_Issue1_2.pdf, раздел 2.3 для списка разрешенных PDU для различных состояний сеанса.

Однако возможно также инкапсулировать DLR в пакеты data_sm (добавленные начиная с smpp 3.4), которые разрешено отправлять в сеанс TX. Если вы делаете это (хотя и редко), это зависит от вас, используете ли вы сеанс TX или сеанс TRX. Выполните циклический перебор или используйте сеанс, который первоначально отправил сообщение, если он все еще подключен.

По причинам совместимости (поскольку smpp 3.3 все еще часто используется) я предлагаю использовать delivery_sm для DLR и, следовательно, отправлять их только в сеанс RX или TRX. Так что в вашем случае это будет TRX.

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