Route between two clients of Jasmin SMPP Server API?

534 views
Skip to first unread message

Franz Gletscher

unread,
Jun 11, 2023, 8:35:39 PM6/11/23
to Jasmin SMS Gateway
How do I send a message from one smpp client connected to the Jasmin Server API to another smpp client connected to the Server API of same Jasmin instance?  Is that possible?  When try to create a route, it needs a connector, but the only smpp connector types I find in the documentation smppcc, which seems to be specific to the Jasmin smpp client.  How do I create a connector for the SMPP Server API? or is that needed?

Gaurav Manandhar

unread,
Jun 11, 2023, 9:44:51 PM6/11/23
to Franz Gletscher, Jasmin SMS Gateway
Hi Franz,
  It’s possible to connect.
When you create a route you have pass following 
1. Smpp server ip of another jasmin server.
2. Smpp user and password 
3 enable smpp for that user in your first jasmin server.

Regards 
Gaurav 

On Mon, 12 Jun 2023 at 06:20 Franz Gletscher <franzgl...@gmail.com> wrote:
How do I send a message from one smpp client connected to the Jasmin Server API to another smpp client connected to the Server API of same Jasmin instance?  Is that possible?  When try to create a route, it needs a connector, but the only smpp connector types I find in the documentation smppcc, which seems to be specific to the Jasmin smpp client.  How do I create a connector for the SMPP Server API? or is that needed?

--
Jasmin SMS Gateway -- http://jasminsms.com
Commercial support: https://jasminsms.atlassian.net/servicedesk/customer/portal/1
---
You received this message because you are subscribed to the Google Groups "Jasmin SMS Gateway" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jasmin-sms-gate...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/jasmin-sms-gateway/4109cbf2-c39f-4b6c-adfc-5e68fa695431n%40googlegroups.com.
--
Regards
Gaurav
9851140165

Franz Gletscher

unread,
Jun 13, 2023, 10:19:29 PM6/13/23
to Jasmin SMS Gateway
Thanks for the comment Gaurav  Here is what I am trying to do.  My clients are able to connect to Jasmin's SMPP server without issue.  Is it possible for Jasmin to receive a message on the SMPP server from one client and send it out from the SMPP server to another?  Creating a route seems to require a connector, and connectors seem to be only for the SMPP Client (smppccm) and the HTTP Client (httpccm). 
smpp_route.jpg

karli...@gmail.com

unread,
Jun 14, 2023, 4:32:07 AM6/14/23
to Franz Gletscher, Jasmin SMS Gateway

Hi Franz,

 

I believe you cannot do it “natively” with Jasmin (which I find is a limitation).

You can route MO from Jasmin SMPP Server to a SMPP client, but SMS you received from the SMPP client origin is a MT.

 

However, you could:

  • Check if SMPP client destination is capable of API (for HTTP connector)
  • Play with MO interceptor (I am not sure if it would work.

 

Another option would be to be SMPP client only.

 

Regards,

Charles

 

From: jasmin-sm...@googlegroups.com <jasmin-sm...@googlegroups.com> On Behalf Of Franz Gletscher
Sent: Wednesday, June 14, 2023 4:19 AM
To: Jasmin SMS Gateway <jasmin-sm...@googlegroups.com>
Subject: Re: Route between two clients of Jasmin SMPP Server API?

 

Thanks for the comment Gaurav  Here is what I am trying to do.  My clients are able to connect to Jasmin's SMPP server without issue.  Is it possible for Jasmin to receive a message on the SMPP server from one client and send it out from the SMPP server to another?  Creating a route seems to require a connector, and connectors seem to be only for the SMPP Client (smppccm) and the HTTP Client (httpccm). 

image001.jpg

Gaurav Manandhar

unread,
Jun 14, 2023, 4:46:35 AM6/14/23
to Franz Gletscher, Jasmin SMS Gateway
Hi Franz,
  Yes, it is possible for Jasmin to receive a message on the SMPP server from any number of clients based on your server configuration and send it out to another client. Jasmin supports message routing and can be configured to forward incoming messages to different destinations based on specified criteria. You'll need to understand the following first. 
  Receiving SMS on the server should be set through MO (Mobile Originated) for which you have to get Short Code from SMPP server providers and Sending SMS (Routing SMS to another client) should be configured through MT (Mobile Terminated)  Router. 

You can configure routing rules in Jasmin's configuration file (jcli.conf) to achieve this. Or you can set up routes using MT Route and MO Route cli commands for it you have to define the filter. 
Basically, filters help us to trap SMS and route that SMS to the defined destinations. 
But I am not sure, if you have received a Shortcode or not to receive SMS from the mobile service provider. 

Regards 
Gaurav


Franz Gletscher

unread,
Jun 17, 2023, 2:37:12 PM6/17/23
to Gaurav Manandhar, Jasmin SMS Gateway
Thank you for the thoughtful replies.  My test set scenario is as follows:

Both Jasmin and the clients are on a private network.  From jcli I can list the users:
jcli : user -l
#User id          Group id         Username         Balance MT SMS Throughput
#u1               g1               tester1          0.0     ND     ND/ND  
#u2               g1               rno1b            ND (!)  ND (!) ND/ND  
#u3               g1               nyc1a            ND (!)  ND (!) ND/ND  

From jcli I can list the morouters:
jcli : morouter -l
#Order Type                    Connector ID(s)                                  Filter(s)                                                      
#0     DefaultRoute            smpps(nyc1a)                                                                                                     

rno1b and nyc1a are captive switches connected as SMPP clients to Jasmin.  tester1 is a python client using the smpplib library that I run on a workstation for the purpose sending messages to nyc1a via Jasmin.  rno1b is currently offline and not involved in the test.  I send a message from tester1 (phone number 1001) to a subscriber on nyc1a (phone number is 1100 valid and registered).  However, it appears Jasmin never routes the message to nyc1a, but prematurely returns

smpplib.exceptions.PDUError: ('(11) submit_sm_resp: Invalid Destination Address', 11)

From the log created by Jasmin /var/log/jasmin/default-smpps_01.log:

2023-06-17 17:41:13 DEBUG    713 Received data [b'0000002600000009000000000000000274657374657231007172656974373432000034000000']
2023-06-17 17:41:13 DEBUG    713 SMPP Server received PDU from system 'None' [command: CommandId.bind_transceiver, seq_number: 2, command_status: CommandStatus.ESME_ROK]
2023-06-17 17:41:13 DEBUG    713 Complete PDU dump: PDU [command: CommandId.bind_transceiver, sequence_number: 2, command_status: CommandStatus.ESME_ROK
2023-06-17 17:41:13 DEBUG    713 Adding SMPP binding for tester1
2023-06-17 17:41:13 INFO     713 Added CommandId.bind_transceiver bind for 'tester1'. Active binds: CommandId.bind_transceiver: 1, CommandId.bind_transmitter: 0, CommandId.bind_receiver: 0.
2023-06-17 17:41:13 DEBUG    713 Bind request succeeded for tester1 in session [db8406c9-0078-494d-a6b3-409767f7a29a]. 1 active binds
2023-06-17 17:41:13 DEBUG    713 Sending PDU: PDU [command: CommandId.bind_transceiver_resp, sequence_number: 2, command_status: CommandStatus.ESME_ROK
2023-06-17 17:41:13 DEBUG    713 Sending data [b'000000188000000900000000000000027465737465723100']
2023-06-17 17:41:13 DEBUG    713 Received data [b'000000350000000400000000000000030005003130303100010131313030000000000000010000000c48656c6c6f20576f726c6421']
2023-06-17 17:41:13 DEBUG    713 SMPP Server received PDU from system 'tester1' [command: CommandId.submit_sm, seq_number: 3, command_status: CommandStatus.ESME_ROK]
2023-06-17 17:41:13 DEBUG    713 Complete PDU dump: PDU [command: CommandId.submit_sm, sequence_number: 3, command_status: CommandStatus.ESME_ROK
2023-06-17 17:41:13 DEBUG    713 Inbound transaction started with message id 3
2023-06-17 17:41:13 DEBUG    713 Intercepting submit_sm event for system_id: tester1
2023-06-17 17:41:13 DEBUG    713 Handling submit_sm_post_interception event for system_id: tester1
2023-06-17 17:41:13 ERROR    713 No route matched from user tester1 for SubmitSmPDU: PDU [command: CommandId.submit_sm, sequence_number: 3, command_status: CommandStatus.ESME_ROK
2023-06-17 17:41:13 DEBUG    713 Sending PDU: PDU [command: CommandId.submit_sm_resp, sequence_number: 3, command_status: CommandStatus.ESME_RINVDSTADR
2023-06-17 17:41:13 DEBUG    713 Sending data [b'00000010800000040000000b00000003']
2023-06-17 17:41:13 DEBUG    713 Inbound transaction finished with message id 3

The "No route matched from user tester1" leads me to suspect the routing configuration.  It seems a morouter of type DefaultRoute should match.

Best Regards,

Franz
Reply all
Reply to author
Forward
0 new messages