Smpp Server How to configure Vsmppbox SMPP Server with fake DLR reports? - kannel

How to enable Fake DLR in Vsmppbox SMPP Server
group=vsmppbox
id=VSMPPBOX
log-file=/var/log/kannel/vsmppbox.log
log-level=0
smpp-port=4721
database-type=mysql
database-config=mysql
database-enable-queue=1
inbound-queue-threads=4
outbound-queue-threads=4
auth-method=1
database-user-table=smpp_users
database-store-table=smpp_store
database-log-table=smpp_log
database-pdu-table=smpp_queued_pdu
database-route-table=smpp_route
database-ndnc-table=smpp_ndnc
database-spam-table=smpp_spam
database-template-table=smpp_template
database-sender-table=smpp_sender
database-version-table=smpp_version
This is the minimum configuration im using in vsmppbox group and its working great with current settings on very higher load

fake DLR is enabled by default in Vsmppbox,
To generate Delivered and Failed reports you have to add values in simulate_deliver_every and simulate_permanent_failure_every fields in smpp user table

Related

Not able to connect to iothub using device connection string - Jmeter

I am trying to connect 100 mqtt clients to iothub using jmeter.
In mqtt connection panel, for pwd, am using iothubowner connection string (available in shared access policy page in azure portal), from which SAS get generated & using the same in pwd for all 100 clients.
connection is successful as well.
but when i try to use the respective client connection string, from which SAS get generated using device explorer, get applied in pwd and the connection get failed.
Any help pls.
JMeter executes Samplers upside down by each virtual user so you don't need to duplicate this Gateway Connect sampler, just define 2 threads (virtual users) in the Thread Group and each thread (virtual user) will execute Gateway Connect sampler and establish its own connection with the broker.
The credentials can be parameterized using i.e. CSV Data Set Config so each virtual user would connect with its own username/password combination
More information: Testing the MQTT Messaging Broker for IoT - A Guide
Am not sure still why respective connection string is creating props, but in such case, the recommended solution is to use iothubowner connection string from the shared access policy page. It's quite successful.

How should an snmp client receive responses from multiple snmp agents?

I require to send get requests/ receive responses to several snmp agents from a single client/manager process.
I have implemented client/agent based on below urls:
http://www.jitendrazaa.com/blog/java/snmp/create-snmp-client-in-java-using-snmp4j/ http://www.jitendrazaa.com/blog/java/snmp/creating-snmp-agent-server-in-java-using-snmp4j/
In order to send a request to an agent, the following is carried out for each server:
TransportMapping transport = new DefaultUdpTransportMapping();
snmp = new Snmp(transport);
transport.listen();
...
pdu.setType(PDU.GET);
// communityTarget contains server target address.
ResponseEvent event = snmp.send(pdu, communityTarget, null);
In order to receive responses from the servers, do I require to carry out a separate transport.listen() for each server? or create
a new TransportMapping and Snmp object for each server?
I don't understand how the client process can know which server returned the response? ...since
each time transport.listen() is called, the listening port address (transport.getListenAddress()) is the same.
and 1 extra udp port is listed (netstat).
I am intending to poll each server from a different background thread (in order that the polling interval can be configured).
Thank you
You should use the same transport mapping.
From the example you provided, it seems that you are using the synchronous API.
The response is just from the agent you sent the request too.
In any case, you can get the peer (agent) address from ResponseEvent.getPeerAddress
http://www.snmp4j.org/doc/org/snmp4j/event/ResponseEvent.html#getPeerAddress()

GSM Phone for Texting on Ubuntu Server

I am building a server for my flying club, I have everything working except sending texts.
I always get same error:
Error sending SMS: No SMSC number given. Provide it manually or use the one configured in phone. (EMPTYSMSC[31])
Using Gammu, although I have set the SMSC number in my config file (/etc/gammu-smsdrc)
Heres the lines from my file:
[smsd]
Smsc = +447785016005
Service = files
Can some one tell me what I am doing wrong please, everything else like Phone_id is actioned, but not the SMSC number.
Thanks, Clock.
First of all the SMSC setting was added quite recently (in Gammu 1.36.2), so if you are using older version it can't work.
Generally when Gammu can not get SMSC number from the SIM card (many of them do not have it stored), you have few options:
pass the number using -smscnumber when creating/sending the message
store the SMSC number in the SIM card using setsmsc
in SMSD use recently introduced SMSC configuration directive

How to assign an SNMPv2c inform request from another manager to the proper agent?

The SNMPv2c specification states that "An InformRequest-PDU is generated and transmitted at the request of an application in a SNMPv2 entity acting in a manager role..." [RFC 1905, section 4.2.7]
If a manager receives an inform request from another manager, I wonder how it assigns the data to the proper agent.
When the inform request is received from an agent - like a trap - the IP address can be used to assign the data to the agent.
This case also seems to make more sense to me. Are there any real world applications where an inform is sent by a manager?
You can not change the IP address in INFORM PDU. This type of SNMP PDU does not have such field. So the receiver always uses src_ip of UDP datagram. The Agent Address is part of TrapV1 PDU only.

Kannel and receive SMS from other SMPP to my system

I'm using kannel SMPP (kannel.org) and for me need more information how to receive SMS messages from other SMPP server.
I know, for me need to add to kannel config this:
group = sms-service
keyword =
keyword-regex = .*
catch-all = yes
max-messages = 0
get-url = "http://website/sms.php?sender=%p&text=%a"
I need to add user for SMS pull'ing, but found only this example:
group = sendsms-user
username = ***************
password = hard2guess
concatenation= true
max-messages = 10000
But here is for sending SMS user, not for pull'ing.
Can somebody tell me more about how to create account for other SMPP server and receive SMS messages from other SMPP server?
If you have SMPP account adding SMPP information is easy all you need is add a new SMPP group
Sample SMPP Configuration (Transceiver Mode)
group = smsc
smsc = smpp
system-type=
smsc-username = user
smsc-password = pass
host = x.x.x.x
port = 10000
transceiver-mode = true
my-number = 123456
interface-version = 34
source-addr-ton = 0
source-addr-npi = 1
dest-addr-ton = 1
dest-addr-npi = 1
enquire-link-interval = 60
reconnect-delay = 60
log-file = "/var/log/kannel/smsc.log"
log-level = 1
I hope thi shelps
Thanks
:)
It sounds like you want to allow a client to connect to you on SMPP and send messages via your system. If this is correct then you need to be a SMPP SMSC and currently your kannel is only acting as an ESME .
To get Kannel to act as a SMSC you need to install a version of SMPP which will act as a SMSC and allow clients to connect to send a message. Because Kannel doesn't have this built in you can try installing the open source software called OpenSMPPBox
OpenSMPPBox is included in the Addons folder of the latest Kannel development release (version 1.5.0). You'll need to install this via SVN to get the code and then compile this on your machine to get OpenSMPPBox up and running. You have to also download the latest version of kannel's source code in order to compile OpenSMPPBox.
Once you have installed OpenSMPPBox it connects to Kannel's Bearerbox and operates as a way to allow clients to connect to you on SMPP and then route messages straight to Kannel. When it is running you can set a username and password for a client and give them your server IP to connect.
There's a Manual for OpenSMPPBox which will help with the installation and configuration.
one very important thing that you might need to verify from your SMPP provider is the version they are running on. If the version is lower than 3.4, then you will be required to switch off the transceiver-mode by commenting it out from your kannel.conf file. Failure to do this will result into an endless loop of Kannel trying to connect to the SMPP without any success.
Best of luck.

Resources