отправка SMS
-
Попробуйте заменить файл src/server/smsdrv/generic/main.cpp на версию из аттача и пересобрать.
-
@axel said in отправка SMS:
Интересно, а почему он библиотеку драйвера проинициализировал с ошибкой? Может в этом собака порылась? В плане того что может неправильно собралась она или в самой библиотеке какой-то баг?
Драйвер при инициализации пытается открыть порт - и не смог (так таки был баг, причем этот код вроде как использовался - не стол же его писали?), как результат - сервер выгрузил драйвер.
-
теперь пишет следующее:
[09-May-2008 14:30:16] DEBUG: *actions* Sending SMS to +7910*******: "testtest"
[09-May-2008 14:30:16] DEBUG: SMS send: to {+7910*******}: {testtest}
[09-May-2008 14:30:17] DEBUG: SMS send: ATZ sent, got {}
[09-May-2008 14:30:18] DEBUG: SMS send: ATE0 sent, got {}
[09-May-2008 14:30:19] DEBUG: SMS send: AT+CMGF=1 sent, got {}
[09-May-2008 14:30:20] DEBUG: SMS send: AT+CMGS + message body sent, got {}
и попрежнему смс не приходит -
Модем у вас Siemens MC35i?
-
Попробуйте выставить скорость порта в 9600.
Да, и еще. Покажите пожалуйста результат команды "stty < /dev/ttyS0" после запуска сервера (и инициализации модема).
-
Это не сименс и не модем - это стационарный gsm телефон откопанный из загашников руководства

однако если на аппарат зайти даже на 9600 терминалкой и написать волшебные строчки - смски нормально отпраляются и получаются.
вот что с портом:
root@ccc:~# stty < /dev/ttyS0
speed 57600 baud; line = 0;
min = 1; time = 5;
ignbrk -brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echokeroot@ccc:~# /etc/init.d/netxmsd start
Starting NetXMS server
NetXMS Database Manager Version 0.2.20Configuration file OK
Checking database:
* Checking node objects... [PASSED]
* Checking interface objects... [PASSED]
* Checking network service objects... [PASSED]
* Checking cluster objects... [PASSED]
* Checking object properties... [PASSED]
* Checking event processing policy... [PASSED]
Database doesn't contain any errors
Database check completedroot@ccc:~# stty < /dev/ttyS0
speed 9600 baud; line = 0;
min = 1; time = 10;
ignbrk -brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke -
модем на скорости 57600 нормально работает с таким вот скриптиком:
#!/usr/bin/perl use Device::Gsm; my $number = @ARGV[0]; my $message = @ARGV[1]; my $gsm = new Device::Gsm( port => '/dev/ttyS0', log=>'syslog'); if( $gsm->connect(baudrate => 57600) ) { } else { exit; } my $lOk = $gsm->send_sms( content => $message, recipient => $number, class => 'normal', mode => 'pdu' );а с netxms выяснилась следующая фигня:
запускаю сервер, пишет:
GSM modem on /dev/ttyS0,57600,8,n,1 initialized successfully. Hardware ID: "".а на порту:
root@ccc:~# stty < /dev/ttyS0
speed 38400 baud; line = 0;
min = 1; time = 10;
ignbrk -brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke -
Я постараюсь в ближайшее время переписать драйвер (я просмотрел код - он странный) и выложить патч.
-
@alk said in отправка SMS:
Я постараюсь в ближайшее время переписать драйвер (я просмотрел код - он странный) и выложить патч.
Извините, ничего нового про драйвер не слышно? А то с этим пока не заборолся, всё инициализируется на 38400, а нужно на 115200.
-
Скажите, удалось решить эту проблему? Наблюдаю похожую ситуацию.
Драйвер инициализируется, но странно:
[12-Aug-2012 23:28:34] Loading Generic SMS Driver (configuration: /dev/ttyS0,115200,8,n,1) [12-Aug-2012 23:28:34] SMS init: port={/dev/ttyS0}, speed=115200, data=8, parity=NONE, stop=1 [12-Aug-2012 23:28:34] SMS: port opened [12-Aug-2012 23:28:34] SMS init: ATZ sent, got {ATZ^M OK} [12-Aug-2012 23:28:34] SMS init: ATE0 sent, got {^M} [12-Aug-2012 23:28:34] SMS init: ATI3 sent, got { } [12-Aug-2012 23:28:34] GSM modem on /dev/ttyS0,115200,8,n,1 initialized successfully. Hardware ID: "".Параметры порта после запуска NetXMS:
mail:~# stty < /dev/ttyS0 speed 38400 baud; line = 0; min = 1; time = 10; ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echokeОтправка сообщения тоже не выполняется корректно:
[12-Aug-2012 23:38:14] SMS send: to {+79167585224}: {test} [12-Aug-2012 23:38:14] SMS send: ATZ sent, got {ATZ^M} [12-Aug-2012 23:38:14] SMS send: ATE0 sent, got {^M} [12-Aug-2012 23:38:14] SMS send: AT+CMGF=0 sent, got { OK } [12-Aug-2012 23:38:14] SMS send: AT+CSCA? sent, got {A} [12-Aug-2012 23:38:14] SMS send: AT+CMGS=18 sent [12-Aug-2012 23:38:14] SMS about to send: 0011000C919761575822F40000AA04F4F29C0E^Z sent [12-Aug-2012 23:38:14] SMS send: AT+CMGS + message body sent, got {AT+CMGS=}Отправка сообщения вручную (через minicom) проходит успешно как в text mode, так и в PDU mode.
ATZ OK AT+CMGF=0 OK AT+CSCA? +CSCA: "+79147991000",145 OK AT+CMGS=18 > 0011000C919761575822F40000AA04F4F29C0E +CMGS: 11 OKПараметры порта после выхода из minicom уже другие:
mail:~# stty < /dev/ttyS0 speed 115200 baud; line = 0; min = 1; time = 5; ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echokeЧто с этим можно сделать?
-
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login