1#!/usr/local/bin/perl
2#
3# Copyright (c) 2001 SymLABS <symlabs@symlabs.com>, All Rights Reserved.
4# See README for license. NO WARRANTY.
5#
6# 15.3.2001, Sampo Kellomaki <sampo@symlabs.com>
7# $Id: esme-hammer.pl,v 1.4 2001/09/28 16:53:55 sampo Exp $
8#
9# ESME - Exterior Short Message Entity
10#
11# Test Net::SMPP in ESME role
12#
13# Usage: ./esme-hammer.pl *version*
14
15use Net::SMPP;
16use Data::Dumper;
17
18$trace = 1;
19$sysid = "GSMSGW";
20$pw = "secret";
21$host = 'localhost';
22$port = 9900;
23$facil = 0x00010003;
24($vers, $iter) = @ARGV;
25$iter ||= 10000;
26$vers = $vers == 4 ? 0x40 : 0x34;  #4
27$if_vers = 0x00;
28
29### Connect and bind
30
31($smpp, $resp) = Net::SMPP->new_transmitter($host,
32		       smpp_version => $vers,
33		       interface_version => $if_vers,
34		       system_id => $sysid,
35		       password => $pw,
36		       addr_ton => 0x09,
37		       addr_npi => 0x00,
38		       source_addr_ton => 0x09,
39		       source_addr_npi => 0x00,
40		       dest_addr_ton => 0x09,
41		       dest_addr_npi => 0x00,
42		       system_type => '_001',
43		       facilities_mask => $facil,
44		       port => $port,
45		       )
46    or die "Can't contact server: $!";
47
48###
49### Typical session in synchronous mode
50###
51
52warn "Sending submit_sm";
53
54$Net::SMPP::trace = 0;
55for my $i (1..$iter) {
56    $resp = $smpp->submit_sm(message_class=>0,
57			 protocol_id=>0x20,   # telematic_interworking
58			 validity_period=>0,  # "default"
59			 source_addr_ton => 0x00,
60			 source_addr => '0777101777',
61			 destination_addr => '077747772777',
62			 msg_reference => '00000097',
63			 priority_level => 3,
64			 registered_delivery_mode => 1,
65			 data_coding => 9,
66			 short_message=>'Hello',
67			 PVCY_AuthenticationStr => "\x01\x00\x00",
68			 PDC_MessageClass => "\x20\x00",
69			 PDC_PresentationOption => "\x01\xff\xff\xff",
70			 PDC_AlertMechanism => "\x01",
71			 PDC_Teleservice => "\x01",
72			 PDC_PredefinedMsg => "\0",
73			 source_subaddress => "\x01\x00\x00",  # PDC_Originator_Subaddr
74			 dest_subaddress => "\x01\x00\x00",    # PDC_Destination_Subaddr
75			 );
76}
77warn Dumper $resp;
78
79$resp = $smpp->unbind();
80
81warn Dumper $resp;
82warn "Done.";
83
84#EOF
85