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