http://qs1969.pair.com?node_id=589233

JEDU has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I have and issue when I use Net::smpp in case of enquire_link_resp, I get the bind with no problem and I send messages... ok, but when SMSc request enquire_link_resp sometho\ing happen the loop is :
while (1) { warn "Waiting for PDU"; $pdu = $smpp->read_pdu() or die "$$: PDU not read. Closing connect +ion"; print "Received #$pdu->{seq} $pdu->{cmd}:". Net::SMPP::pdu_tab->{$ +pdu->{cmd}}{cmd} ."\n" ; warn Dumper($pdu) if $trace; if (defined reply_tab->{$pdu->{cmd}}) { &{reply_tab->{$pdu->{cmd}}{reply}}($c, $pdu); warn "Replied"; } else { warn "Don't know to reply to $pdu->{cmd}"; sleep 1; } }

That mach with

0x00000015 => { cmd => 'enquire_link', reply => sub { my ($me, $pdu) = @_; $me->enquire_link_resp(seq => $pdu->{seq}) }, },

But when an enquire_link is recived I get this:

Received #2 21:enquire_link $VAR1 = bless( { 'known_pdu' => 1, 'cmd' => 21, 'status' => 0, 'data' => '', 'reserved' => undef, 'seq' => 2 }, 'Net::SMPP::PDU' ); Can't call method "enquire_link_resp" on an undefined value at .....es +me-re.pl line 89.

20061213 Janitored by Corion: Added formatting, code tags, as per Writeup Formatting Tips