2013-04-29 2 views
1

Я пытаюсь получить статусы ответа из шлюза SMPP через talend ESB. Есть ли способ использовать QuerySm через talend для этого? Есть ли у кого-нибудь опыт использования QuerySm? Если да, пожалуйста, кто-нибудь может дать мне несколько советов о том, как это сделать. Я пробовал свои текущие таланты без успеха.Использование Query_sm (Smpp)

Даже указатели с тем, как Query_sm работает или как его использовать, было бы очень полезно. Я искал в интернете какое-то время и, к сожалению, не мог найти эти ответы. : c

Любая помощь будет оценена по достоинству. Спасибо заранее.

EDIT:

Привет Вахид жаль его было какое-то время. Очевидно, что Smpp очень плохо документирован, и, похоже, CamelSmpp 11 многое зафиксировал. Мы выяснили причину, по которой мы не получаем все отчеты, потому что отчеты дублируются. Поставщик услуг отправляет более одного пакета доставки_sm на пакет (не уверен, что это нормально), и из-за этого вместо того, чтобы прочитывать весь файл delivery_sm, он дублирует первый, и поэтому мы никогда не можем собрать другие параметры доставки_sm в пакет. Есть ли какой-нибудь способ для нас получить эти delivery_sm? Я не могу найти это в документации smpp.

+1

Вопросы: (1) Что такое «отчет»? (2) Каков точный PDU, отправленный поставщиком услуг?(3) Поставщик услуг отправляет PDU в ваше приложение? –

ответ

4

В этом ответе я поделился своим опытом с SMPP. Я не использовал Talend ESB.

Согласно разделам 4.8, 5.2.28 и 6.1, в разделах 4.8, 5.2.28 и 6.1 приведены описания query_sm и query_sm_resp pdus. Вот некоторые ключевые моменты:

  • query_sm
    • Может быть запрошены только на ESME.
    • Может быть выпущен на ранее выпущенные submit_sm, data_sm или submit_multi_sm pdu.
    • source_addr, source_addr_ton, source_addr_npi отправлено и message_id, полученные от объекта * _resp, используются на query_sm pdu.
  • qeury_sm_resp
    • command_status может указывать на общий исход query_sm ПБД. Раздел 5.1.3 включает все значения. Вы должны проверить поставщика API, чтобы знать правильные значения для использования.
    • message_state указывает состояние запрошенного pdu. См. Раздел 5.2.28.
    • error_code указывает на наличие ошибки в сети, если таковая имеется. Вы должны проверить поставщика API, чтобы знать правильные значения для использования.

Я бы диковинки, чтобы знать, что побудило вас использовать query_sm. query_sm pdus редко используются в реальной жизни. На работе мы обрабатываем миллиарды SMS каждый день от всех основных американских перевозчиков, и мы редко получаем какой-либо query_sm.

Альтернатива query_sm будет «Receipt Receipt», но не поддерживается большинством платформ. Непосредственная платформа, к которой вы подключены, может дать вам некоторую информацию.

+0

Привет Вахид, моя мотивация заключалась в том, что мы, похоже, не получали все наши квитанции о доставке при отправке сообщений на шлюз перевозчиков. Из примерно 2000 сообщений, которые мы получили только, говорят, что 60% их статусов доставки. Нам интересно, можно ли отправить query_sm и получить текущий статус идентификатора сообщения. Можно ли сделать это? Что нам нужно использовать для этого? – DeanMWake

+2

query_sm может получать результаты из SMSC, к которому подключен ESME. Если SMSC работает усердно, он может вернуть правильный результат в меру своих знаний. Если SMSC отправляет фактическое SMS на трубку, вы можете положиться на результат. Если SMSC подключен к некоторому промежуточному SMPP-объекту, он может перенаправить запрос_sm (я сомневаюсь, что любая система сделает это) на этих платформах и ожидать, что они ответят правильно. Обычно вы не знаете, как эта топология настроена, и вы можете только надеяться, что query_sm_resp является хорошим. –

+2

Квитанции о доставке могут получать результаты от телефона. Для этого принимающая трубка должна быть готова отправить подтверждение. Кроме того, всем связанным ESME/SMSC необходимо сотрудничать для направления результатов приема; системы могут преждевременно составлять свои собственные квитанции. Вы получаете 60% от расписки. Я могу только догадываться о нескольких причинах этого: номера адреса ошибочны, сообщение не было доставлено, или принимающая трубка обернулась квитанцией о доставке. Можете ли вы проверить, получили ли вы одинаковые результаты квитанции для одного и того же номера? Это может дать вам некоторую подсказку. –