#-------------------------------------- #!/usr/bin/perl use Net::FTP; use File::Copy; use Net::Ping; use Net::SMPP; use Data::Dumper; $trace=1; $default_smsc="smsc-ip-address"; $smsc_port = port; $smsc_sysid = "username"; $smsc_pwd = "password"; #### Initialiazation of Varibales ############### my $bind_status=&bindeq; if($bind_status==0) { print "Binding OK\n"; #&sendmsg("440829285","TESTING"); &submit_multi; &unbindeq }else{ print("Failed to Bind to SMSC\n"); } sub bindeq() { $Net::SMPP::trace = 0; ### Connect and bind ($smpp,$resp) = Net::SMPP->new_transceiver ( $default_smsc, interface_version => 0x34, system_id => $smsc_sysid, password => $smsc_pwd, addr_ton => 0x01, addr_npi => 0x01, source_addr_ton =>0x01, source_addr_npi =>0x01, dest_addr_ton => 0x01, dest_addr_npi => 0x01, system_type => '', port => $smsc_port, async=>0, timeout => 10, ); $resp->explain_status(); my $bind_stat=$resp->{'status'}; return($bind_stat); } #-------------------------------------------------------------# sub sendmsg() { $Net::SMPP::trace = 1; my $number=@_[0]; my $message=@_[1]; my $msg_stat=0; $resp = $smpp->submit_sm( protocol_id=>'', validity_period=>'', source_addr_ton =>0x01, source_addr_npi =>0x01, source_addr => '50023', esm_class=>0x00, priority_flag=>0, schedule_delivery_time=>'', validity_period=>'', registered_delivery=>0x00, replace_if_present_flag=>0x00, data_coding => 0x00, sm_default_msg_id=>'', dest_addr_ton => 0x01, dest_addr_npi => 0x01, destination_addr => "$number", short_message=>"$message", ); $msgid=$resp->message_id(); print "MessageId=$msgid\n"; print $resp->explain_status(); } #-------------------------------------------------------------# sub submit_multi(){ $Net::SMPP::trace = 1; my $resp=$smpp->submit_multi( service_type => '', # default ok source_addr_ton => 0x01, # default ok source_addr_npi => 0x01, # default ok source_addr => '50023', # default ok dest_flag => [1,1], dest_addr_ton =>[0x01, 0x01], dest_addr_npi =>[0x01, 0x01], destination_addr =>[919440829285,440829285], ## 440829285 is Invalid Dest Number esm_class => 0x00, protocol_id => '', priority_flag => 0, schedule_delivery_time => '', validity_period => '', registered_delivery => 0x00, replace_if_present_flag => 0x00, data_coding => 0x00, sm_default_msg_id =>'', short_message => 'TEST-MULTI', ); $msgid=$resp->{message_id}; print "Messagid=$msgid\n"; print $resp->explain_status(); #Dumper $resp; } #-------------------------------------------------------------- sub unbindeq() { $Net::SMPP::trace = 1; my $resp = $smpp->unbind(); print $resp->explain_status(); }