SMPP/PHP - SmppException Failed to read reply to command: 0x4 (php/smpp master)

Viewed 18

Need pro help Im trying to send sms to my smpp server using onlinecity/php-smpp lib Master. Code:

    <?php
    require_once "smpp/smppclient.class.php";
    require_once "smpp/gsmencoder.class.php";
    require_once "smpp/sockettransport.class.php";

    
    // Construct transport and client
    $transport = new SocketTransport(array("my smpp server ip"),2775);
    $transport->setSendTimeout(10000);
    //$transport->setRecvTimeout(10000);
    $smpp = new SmppClient($transport);
    
    $smpp->debug = true;
    $transport->debug = true;
    
    // Open the connection
    $transport->open();
    $smpp->bindTransmitter("test user", "test pass");
    
    // Optional connection specific overrides
    //SmppClient::$sms_null_terminate_octetstrings = false;
    //SmppClient::$csms_method = SmppClient::CSMS_PAYLOAD;
    //SmppClient::$sms_registered_delivery_flag = SMPP::REG_DELIVERY_SMSC_BOTH;
    
    // Prepare message
    $message = 'Hello world bla bla';
    $encodedMessage = GsmEncoder::utf8_to_gsm0338($message);
    $from = new SmppAddress('SMPP Test',SMPP::TON_ALPHANUMERIC);
    $to = new SmppAddress(4512345678,SMPP::TON_INTERNATIONAL,SMPP::NPI_E164);
    
    // Send
    $messageID = $smpp->sendSMS($from,$to,$encodedMessage);
    
    // Close connection
    $smpp->close();
?>

Browser response:

Fatal error: Uncaught SmppException: Failed to read reply to command: 0x4 in /home1/myproject/ems.myproject.com/smpp/smppclient.class.php:620 Stack trace: #0 /home1/myproject/ems.myproject.com/smpp/smppclient.class.php(392): SmppClient->sendCommand(4, '\x00\x05\x00SMPP Test\x00\x01\x01...') #1 /home1/myproject/ems.myproject.com/smpp/smppclient.class.php(340): SmppClient->submit_sm(Object(SmppAddress), Object(SmppAddress), 'Hello Voz bla b...', NULL, 0) #2 /home1/myproject/ems.myproject.com/send_sms.php(35): SmppClient->sendSMS(Object(SmppAddress), Object(SmppAddress), 'Hello world bla b...') #3 {main} thrown in /home1/myproject/ems.myproject.com/smpp/smppclient.class.php on line 620 smppclient.class.php:

614     protected function sendCommand($id, $pduBody)
615     {
616     if (!$this->transport->isOpen()) return false;
617     $pdu = new SmppPdu($id, 0, $this->sequence_number, $pduBody);
618     $this->sendPDU($pdu);
619     $response=$this->readPDU_resp($this->sequence_number, $pdu->id);
620     if ($response === false) throw new SmppException('Failed to read reply to command: 0x'.dechex($id));
621     
622     if ($response->status != SMPP::ESME_ROK) throw new SmppException(SMPP::getStatusMessage($response->status), $response->status);
623     
624     $this->sequence_number++;
625     
626     // Reached max sequence number, spec does not state what happens now, so we re-connect
627     if ($this->sequence_number >= 0x7FFFFFFF) {
628         $this->reconnect();
629     }
630     
631     return $response;

Note:

  • PHP 7.4 on Apache

Anyone please help to identify what im doing wrong. *** Please advice if there any better updated lib for php/smpp

0 Answers
Related