$esme->addr_ton = $conf['SMPP']['at']; $esme->addr_npi = $conf['SMPP']['an']; $esme->dbcoding = $conf['ESME']['dbcoding']; $esme->sbcoding = $conf['ESME']['sbcoding']; $esme->mbcoding = $conf['ESME']['mbcoding']; } if ($esme->state > ESS_CONNECTED && $esme->last_enquire < time() - $conf['ESME']['enquire']) { if (!$esme->enquirelink()) { $esme->sock->disconnect(); $esme->state = ESS_DISCONNECTED; } else { $esme->last_enquire = time(); } } if ($esme->state <= ESS_CONNECTED) { if ($esme->bind()) { l('SMPP bind successfull.'); } else { l('ESME bind failed. Exiting...', L_CRIT); sleep(5); die; } } // sending messages foreach ($send['id'] as $k => $v) { l('Sending ' . $v . '...', L_INFO); $src = explode('.', $send['src'][$k]); $dst = explode('.', $send['dst'][$k]); if ($esme->send_sms(array('st' => $src[1], 'sn' => $src[2], 'src' => $src[0], 'dt' => $dst[1], 'dn' => $dst[2], 'dst' => $dst[0], 'text' => mb_convert_encoding($send['msg'][$k], $conf['ESME']['mbcoding'], $conf['ESME']['dbcoding']), 'deliv' => $send['rd'][$k]))) { // sent ok if ($db->put('REPLACE INTO sent(id,rel_id,src,dst,msg,ts,rd,snt_ts,msg_id) SELECT id,rel_id,src,dst,msg,ts,rd,' . time() . ' AS snt_ts,"' . $esme->last_msg_id . '" AS msg_id FROM outbox WHERE id=' . $v) && $db->put('DELETE FROM outbox WHERE id=' . $v) && $db->commit()) {