jookies / jasmin

Jasmin - Open source SMS gateway
http://jasminsms.com
Other
1.05k stars 557 forks source link

submit.sm.resp.CONNECTOR is not consumed #62

Closed ivanrvpereira closed 10 years ago

ivanrvpereira commented 10 years ago

Hi,

I'm a django developer and new to this promising project. And also new to smpp protocol world.

I started using jasmin today for sms marketing purposes, and now i'm already able to send messages through clickatell smpp using jasmin. But i only got this message status message_status=ESME_ROK. I think this status tells me that message arrived clickatell smsc, but i want also the delivery status of messages. When a message is sent with wrong number, i get an unparsable PDU on default.CONNECTOR.log. Also i see that submit.sm.resp.CONNECTOR queue on Rabbitmq is not consumed.

Can you please help me to figure where i should look?

pyghassen commented 10 years ago

Hi, can you tell me what version are you using? Can you share some logs and where you suspect the problem is coming from? What language the sent SMS was written? OS distro too.

ivanrvpereira commented 10 years ago

I installed from the branch master. It's 0.6.0 beta. OS is debian 7.6. What is in this queue? Should i open any port beyond 2775 on my firewall?

Thank you.

farirat commented 10 years ago

Hi,

It is okay for the version (0.6.0-beta), we're also using it for bulks (marketing) through other providers than clickatell, and it is also normal that you get submit.sm.resp.CONNECTOR growing on RabbitMQ, this is because every received SUBMIT_SM_RESP is handled by Jasmin then published to RabbitMQ so you can write a third party app to consume it and make some external business logic on it, the bad thing of it is that the queue will grow forever if you dont put a consumer on it, this is going to be an optional/configurable behaviour in future versions.

As for the delivery receipt, here's my answers:

ivanrvpereira commented 10 years ago

Ok, i will digg to see how i consume that queue. To work with clickatell i had to make a small patch, that makes system_type a string. system_type on clickatell is a number and .encode() gives error. If you want i can make a pull request.

I already set dlr-level to 3. As for the unparseable PDU, If you could point me some direction i can check clickatell documentation and try to fix it.

Logs: https://gist.github.com/balsagoth/df6d18b3e0ed2a6a9f3b

farirat commented 10 years ago

As i told you in my previous comment, clickatell is using extra fields (optional) and Jasmin is rejecting it, it is the network_error_code param which is not implemented yet:

check line #773 in https://github.com/fourat/jasmin/blob/v0.6-beta/jasmin/vendor/smpp/pdu/pdu_encoding.py

I'll add it to the current release targets.

As for the system_type encoding, i thought system_type is already a string, everything typed through the jCli is casted to string by default so can you tell me how are you sure it is not a string ?

Fourat Zouari

On Thu, Oct 16, 2014 at 12:08 AM, Ivan Pereira notifications@github.com wrote:

Ok, i will digg to see how i consume that queue. To work with clickatell i had to make a small patch, that makes system_type a string. system_type on clickatell is a number and.encode()` gives error. If you want i can make a pull request.

I already set dlr-level to 3. As for the unparseable PDU, If you could point me some direction i can check clickatell documentation and try to fix it.

Logs: https://gist.github.com/balsagoth/df6d18b3e0ed2a6a9f3b

— Reply to this email directly or view it on GitHub https://github.com/jookies/jasmin/issues/62#issuecomment-59291203.

ivanrvpereira commented 10 years ago

Bellow is the output of params dict.

Without the patch

{'password': 'xxxxx', 'interface_version': 52, 'addr_ton': EnumValue(<enum.Enum object at 0x389a0d0>, 3, 'UNKNOWN'), 'address_range': None, 'system_id': 'xxxxxxxx', 'system_type': 999999, 'addr_npi': EnumValue(<enum.Enum object at 0x38a3410>, 9, 'ISDN')}

With pacth

{'password': 'xxxxx', 'interface_version': 52, 'addr_ton': EnumValue(<enum.Enum object at 0x389a0d0>, 3, 'UNKNOWN'), 'address_range': None, 'system_id': 'xxxxxxxx', 'system_type': '999999', 'addr_npi': EnumValue(<enum.Enum object at 0x38a3410>, 9, 'ISDN')}
farirat commented 10 years ago

This issue is closed:

tarikogut commented 9 years ago

added

2015-01-18 21:34 GMT+02:00 Fourat ZOUARI notifications@github.com:

Hi,

I'd like to add you to my professional network on LinkedIn.

  • Fourat

Accept: https://www.linkedin.com/blink?simpleRedirect=0Rd3AMdPcScjAPejAOdzoOdzARfkh9rCZFt65QqnpKqipdhl1vc49zhzRVpkJApn9xq7cCt7dBtmtvpnhFtCVFfmJB9C5QoORBt6BSrCAJt7dBtmsJr6RBfmtKqmJzon9Q9ClQqnpKimtBkClOs3Rx9CcObj5WpmZQczlFbmFEpjlBr3RBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5962663023184211968_500&markAsRead=

You received an invitation to connect. LinkedIn will use your email address to make suggestions to our members in features like People You May Know. Unsubscribe here: https://www.linkedin.com/blink?simpleRedirect=oP8JcnFBrTgOdmAJqCxBdmlIfmhFpipdrm5yoSZ3m30MjBAPrS9kcBwThTFAnTcOj4F4e4FNuBcRuB1ygBxoh2RVoQlzgRlvcj9DsAwPp5sTrT5UtQEJhmlLdjhjglsQkRAVlTgUqztBlnlysSV7cAh1tSR7hApiqSgJcP98kTxLuzBMiPxHkn1vk6Rlh4tQpmxLmkoVs4NDt71GcDgVlSpejndBqiROlk51gl5IuBETkTxxslhFhB51fmhFrSMCt7dBtmtvpnhFtCVFfmJB9B4ScSh5hSxmhD9JhB51fmVBqSZkp6BJ9CVRr3RQ9CcObj5WpmZQczlFbmFEpjlBr3RBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&amp;msgID=I5962663023184211968_500&amp;markAsRead= Learn why we included this at the following link: https://www.linkedin.com/blink?simpleRedirect=e3wTd3RAimlIoSBQsC4Ct7dBtmtvpnhFtCVFfmJB9CNOlmlzqnpOpldOpmRLt7dRoPRx9CcObj5WpmZQczlFbmFEpjlBr3RBfP9SbSkLrmZzbCVFp6lHrCBIbDtTtOYLeDdMt7hE&msgID=I5962663023184211968_500&markAsRead= © 2014, LinkedIn Corporation. 2029 Stierlin Ct. Mountain View, CA 94043, USA

— Reply to this email directly or view it on GitHub https://github.com/jookies/jasmin/issues/62#issuecomment-70421978.