Я использую шлюз Kannel для отправки смс
Извините, если этот вопрос задавался ранее, но я пытался найти решение, но я не получил никакого, к сожалению, я должен опубликовать этот вопрос.
Я отправляю сообщение через скрипт php (клиент smpp) на сервер smpp, который подключается к ящику-носителю и отправляет сообщение.
Есть несколько проблем, с которыми я сталкиваюсь:
1. Я не могу получить отчет о доставке
2. Получаю ошибку в логах smsbox: ОШИБКА: URL <03b3423a> не начинается с http://' nor
https: //»
Я пробовал разные решения, но ни одно из них не работает.
Мне нужно, чтобы, если номер «А» отправлял сообщение на номер «Б», то номер «А» получал подтверждение того, что сообщение было доставлено на номер «Б».
Вот мои данные о файлах конфигурации:
group = core
dlr-storage=internal
admin-port = 13000
smsbox-port = 13001
admin-password = bar
log-file = "/var/log//kannel/kannel.log"box-deny-ip = "*.*.*.*"box-allow-ip = "127.0.0.1"access-log = "/var/log/kannel/access.log"
#---------------------------------------------
# SMSC CONNECTIONS
group = "smsc"smsc = "http"smsc-id = "http"#system-type = "generic"system-type = "kannel"port = 13015
log-file = /var/log/kannel/smsc.log
status-success-regex = "success"status-permfail-regex = "failure"status-tempfail-regex = "retry later"generic-status-sent = 200
generic-status-error = 404
#reroute-dlr = true
#transceiver-mode = 0
receive-port=13015
send-url = "http://192.168.1.124:8090"smsc-username = "cust2"smsc-password = "cust@123"connect-allow-ip = "*.*.*.*"#dlr-url="http://192.168.1.106/dlr.php?type=%d"
#---------------------------------------------
# SMSBOX SETUP
group = smsbox
bearerbox-host = 127.0.0.1
bearerbox-port = 13001
smsbox-id = cust2
#---------------------------------------------
# SEND-SMS USERS
group = sendsms-user
username = cust2
password = cust@123
#user-deny-ip = ""#user-allow-ip = ""
#---------------------------------------------
# SERVICES
group = sms-service
keyword = default
text = "No service specified"
group = smsbox-route
smsbox-id = cust2
smsc-id = "http"
group = core
dlr-storage = internal
group = opensmppbox
opensmppbox-id = OPENSMPP
opensmppbox-port = 2775
bearerbox-host = 127.0.0.1
bearerbox-port = 13001
our-system-id = outbind
smpp-logins = /usr/local/kannel/smpplogins.txt
use-systemid-as-smsboxid = true
route-to-smsc = http
log-file = /usr/local/kannel/smppbox.log
<?php
//print "<pre>";
require_once "smpp.php";
$tx=new SMPP('192.168.1.81',2775);
$tx->debug=true;
$tx->system_type="http";
$tx->addr_npi=1;
$tx->sms_registered_delivery_flag=1;
$tx->sms_sm_default_msg_id=1;
//$tx->dlr_url="http://192.168.1.124/cgi-bim/drl";
//$tx->dlr_url="http://192.168.1.124:8090";
print_r($tx);
//print "open status: ".$tx->state."\n";
$tx->bindTransmitter("cust2","cust@123");
$tx->sms_source_addr_npi=1;
//$tx->sms_source_addr_ton=1;
$tx->sms_dest_addr_ton=1;
$tx->sms_dest_addr_npi=1;
$tx->sendSMS("2121","791400000","Hello world");
//$tx->sendSMS("2121","2121","Hello world!!!");
$tx->close();
unset($tx);
Пожалуйста, дайте мне знать, если нужна дополнительная информация
Спасибо за помощь заранее
Каков ответ на звонок http://192.168.1.124:8090
send-url = "http://192.168.1.124:8090"
Ответ должен быть как success
, failure
или же retry later
status-success-regex = "success"status-permfail-regex = "failure"status-tempfail-regex = "retry later"
Если ответ правильный, вы получите правильный DLR
Других решений пока нет …