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


in reply to Net::smpp enquire_link_resp

Hi JEDU,

I presume this is your line 89 (it's the first call to reply_tab->{$pdu->{cmd}}):
if (defined reply_tab->{$pdu->{cmd}}) {
So, my questions are:

TheMage
Talking Web

Replies are listed 'Best First'.
Re^2: Net::smpp enquire_link_resp
by JEDU (Novice) on Dec 13, 2006 at 05:59 UTC
    Hi, no the line 89 is: 0x00000015 => { cmd => 'enquire_link', The reply_tab is a sub that process the PDU in case of match send a re +ply to PDU use constant reply_tab => { 0x80000000 => { cmd => 'generic_nack', reply => undef, }, 0x00000001 => { cmd => 'bind_receiver', reply => sub { my ($me,$pdu) = @_; $me->set_version(0x34); $me->bind_receiver_resp(system_id => $sysid, seq => $pdu->{seq}); . . . . 0x00000015 => { cmd => 'enquire_link', reply => sub { my ($me, $pdu) = @_; $me->enquire_link_resp(seq => $pdu->{seq}) }, }, . . .} Reply_tab do not return the correct answer...
      Hi JEDU,

      If the line 89 is the code you past now, then the undefined value you're calling enquire_link_resp is $me in your 0x0...015 reply sub.

      I presume that the call to that sub is not being done with the correct values. It looks like you have a complex code, so you may need to debug it carefully to find in which step you lose the $me value.

      TheMage
      Talking Web
        I don't know if the answer is late, but I have the same problem, i think the solution is change the $c variable with $smpp in the loop.