Пример #1
0
     $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()) {