Net-SMPP library can be used to make SMPP requests using Perl. This library's higher-level functions can be used to synchronously submit SMS to an SMS gateway or SMSC.
SMPP requirements and resources
SMPP is the Short Message Peer-to-Peer protocol for conveying SMS operations. An SMPP client can be used to connect to an SMSC or SMS gatewat using the SMPP protocol. An SMPP account can easily be obtained for using the Tyr SMS Gateway or SMSC Simulator. The following are required to send SMS with SMPP:
- SMPP API account
SMPP API account for the Melrose Labs Tyr SMS Gateway
- SMSC Simulator
SMPP API account for the Melrose Labs SMSC Simulator. Allows you to simulate inbound and outbound SMS delivery using an SMPP API account with your application. Get free SMPP account for SMSC Simulator >
- SMPP Protocol [reference]
Short Message Peer-to-Peer Protocol v3.3, v3.4 and v5 specifications and guides
- SMPP v5 [reference]
Short Message Peer-to-Peer Protocol v5 reference on melroselabs.com
Perl requirements and resources
Perl is a programming language and can be used to quickly and easily add SMS support for programmatically sending and receiving SMS messages. Use it for transactional messaging and notifications between your application and mobiles. The following are required to send SMS using Perl:
Perl programming language. Download for Unix/Linux, macOS and Windows.
Requirements and resources
The following are required to send SMS with SMPP using Perl:
Net::SMPP - pure Perl implementation of SMPP 3.4 over TCP
Create the file
sendsms.pl containing the code below. Replace the hostname
PASSWORD values with those from your SMPP API account. Alternatively, replace
PASSWORD with those allocated to you for use with the Melrose Labs SMSC Simulator.
The following example Perl code opens an SMPP transmitter bind to
smscsim.melroselabs.com on port
2775 (SMPP port), and then sends the message
Hello World to mobile number
MelroseLabs. The message ID returned in
$resp = $smpp->submit_sm() is that returned from the SMS gateway or SMSC after a successful submission. The SMPP system ID and password for the SMPP account are contained in
Get free SMPP account for SMSC Simulator >
#!/usr/bin/perl # # Usage: ./sendsms.pl use Net::SMPP; use Data::Dumper; #$Net::SMPP::trace = 1; $sysid = "SYSTEMID"; $pw = "PASSWORD"; $host = "smscsim.melroselabs.com"; $port = 2775; $if_vers = 0x34; ### Connect and bind warn "Connecting and binding"; ($smpp, $resp) = Net::SMPP->new_transmitter( $host, port => $port, system_id => $sysid, password => $pw, system_type => "", interface_version => $if_vers, addr_ton => 0x00, addr_npi => 0x00, address_range => "" ) or die "Can't contact server: $!"; ### ### Typical session in synchronous mode ### warn "Sending submit_sm"; $resp = $smpp->submit_sm( source_addr_ton => 0x05, source_addr_npi => 0x00, source_addr => "MelroseLabs", dest_addr_ton => 0x01, dest_addr_npi => 0x01, destination_addr => "447712345678", data_coding => 0, short_message=>"Hello World" ); warn Dumper $resp; $resp = $smpp->unbind(); warn Dumper $resp; warn "Done."; #EOF
Other APIs covered in our tutorials that can be used for sending and receiving SMS using Perl include: REST
Whatever the language or API, you can send SMS and receive SMS between applications and mobiles for a wide range of uses with a number of our services. Please consider using our Messaging, SMS gateway and Bulk SMS solutions.
If you are interested in testing your application's SMS support and are using the SMPP protocol, then we recommend that you take a look at the Melrose Labs SMSC Simulator service that can simulate SMS message delivery to mobiles (MT SMS) and simulate SMS messages from mobiles (MO SMS). The SMSC Simulator supports SMPP v3.3, v3.4 and v5, and has a high degree of SMPP protocol conformance. Later in 2020 we will be providing access to the Melrose Labs Tyr SMS Gateway for A2P, P2A, bulk, wholesale and business SMS, and for text marketing and other applications. The Melrose Labs Tyr SMS Gateway will support REST and SMPP APIs.