Отправка sms 2N Ateus EasyGate

Started by LMM, June 06, 2016, 06:29:48 PM

Previous topic - Next topic

LMM

Добрый день!

Пишу от безысходности... не могу понять почему не работает отправка sms через com gsm шлюз (http://www.2n.cz/en/products/gsm-gateways/analog/easygate/)
Сервер NetXMS стоит на Hyper-V 2012 (под управлением win2008r2), проброс com порта сделал через pipe + служба NP2COM - все прекрасно работает - родная прога к шлюзу видит сам шлюз, определяет оператора и т.д.
В самом сервере netxms прописал драйвер и указал com порт:


В логе сервера вижу:
- ну т.е. вроде как все ОК.

Через cmd пишу команду (вычитал тут на форуме):
C:\NetXMS\bin>nxsms -D -u admin -P ******* 127.0.0.1 +7910******* test1
И получаю удручающий ответ:
NXCL: NXCSession::connect: host="127.0.0.1" port=4701
NXCL: NXCSession::sendMessage("CMD_GET_SERVER_INFO", id:1)
NXCL: NXCSession::receiveMessage("CMD_REQUEST_COMPLETED", id:1)
NXCL: NXCSession::sendMessage("CMD_LOGIN", id:2)
NXCL: NXCSession::receiveMessage("CMD_LOGIN_RESP", id:2)
NXCL: NXCSession::sendMessage("CMD_SEND_SMS", id:3)
NXCL: NXCSession::receiveMessage("CMD_REQUEST_COMPLETED", id:3)
NXCL: NXCSession::receiverThread: message receiving error (MSGRECV_COMM_FAILURE)


Т.к. у меня com порт проброшен в виртуалку, решил посмотреть что отсылается по com порту шлюзу - получил следующее:
DEBUG 18:25:40,078 Connection             ?                  - Wrote (CP): \r\n
DEBUG 18:25:42,171 Connection             ?                  - Wrote (CP): ATZ\r\n
DEBUG 18:25:42,265 Connection             ?                  - Read (CP): \r\nOK\r\n
DEBUG 18:25:42,281 Connection             ?                  - Wrote (NP):\r\nOK\r\n
DEBUG 18:25:44,281 Connection             ?                  - Wrote (CP): ATE0\r\n
DEBUG 18:25:44,343 Connection             ?                  - Read (CP): AT
DEBUG 18:25:44,359 Connection             ?                  - Wrote (NP):AT
DEBUG 18:25:44,359 Connection             ?                  - Read (CP): E0\r\r\nOK\r\n
DEBUG 18:25:44,375 Connection             ?                  - Wrote (NP):E0\r\r\nOK\r\n
DEBUG 18:25:46,375 Connection             ?                  - Wrote (CP): AT+CMGF=1\r\n
DEBUG 18:25:46,468 Connection             ?                  - Read (CP): \r\nOK\r\n
DEBUG 18:25:46,484 Connection             ?                  - Wrote (NP):\r\nOK\r\n
DEBUG 18:25:48,500 Connection             ?                  - Wrote (CP): AT+CMGS="+7910*******"\r\n
DEBUG 18:25:48,593 Connection             ?                  - Read (CP): \r\n>
DEBUG 18:25:48,609 Connection             ?                  - Wrote (NP):\r\n>
DEBUG 18:25:50,578 Connection             ?                  - Wrote (CP): test1\r\n
DEBUG 18:25:53,515 Connection             ?                  - Read (CP): \r\n+CMGS: 41\r\n\r\nOK\r\n
DEBUG 18:25:53,531 Connection             ?                  - Wrote (NP):\r\n+CMGS: 41\r\n\r\nOK\r\n


Не подскажите что не так? Может шлюз этот не поддерживается? Или я где напортачил?

За ранее благодарю за помощь!

Victor Kirhenshtein

Странно, вроде как модем дает сообщение об успешной отсылке:

DEBUG 18:25:53,515 Connection             ?                  - Read (CP): \r\n+CMGS: 41\r\n\r\nOK\r\n

а если руками через терминал попробовать отослать?

LMM

Quote from: Victor Kirhenshtein on June 07, 2016, 07:16:21 PM
Странно, вроде как модем дает сообщение об успешной отсылке:

DEBUG 18:25:53,515 Connection             ?                  - Read (CP): \r\n+CMGS: 41\r\n\r\nOK\r\n

а если руками через терминал попробовать отослать?
Спасибо за ответ!

Не, это же я отключил прокидываните com порта и просто посмотрел действительно из виртуальной машины на реальную приходят данные по com-порту или нет.
Не подскажите как из терминала netxms отправить смс? Я только из cmd знаю - пробовал и не получилось (см. выше)?!

Victor Kirhenshtein

Я имел ввиду обычный терминал, который с сериальным портом может работать, putty например или minicom. И попробовать выдать AT команды:

ATZ
ATE0
AT+CMGF=1
AT+CMGS="+7..."

после символа > ввести текст сообщения и нажать CTRL+Z.

LMM

Quote from: Victor Kirhenshtein on June 08, 2016, 11:08:47 AM
Я имел ввиду обычный терминал, который с сериальным портом может работать, putty например или minicom. И попробовать выдать AT команды:

ATZ
ATE0
AT+CMGF=1
AT+CMGS="+7..."

после символа > ввести текст сообщения и нажать CTRL+Z.
Еще раз спасибо за ответ!

Да подключился через putty, ввел написанные Вами (выше) команды, немного странно что они мне не показывались, лишь при нажатии на enter писал ОК (если все вводил правильно) и NO CARRIER (если не правильно).
В общем как итог, набрав последнюю команду - с номером телефона и текстом "test", нажал ctrl+z и вуаля - смс пришла мне на телефон.

Почему же этого не может сделать NetXMS?

LMM

О Victor Kirhenshtein, где же Вы, что мне дальше делать? :(

Victor Kirhenshtein

Попробуйте поставить уровень дебага 5 и посмотрите в логе сервера записи с префиксом SMS: - драйвер должен написать какой именно шаг отсылки не прошел.

Еще вопрос - а собственно nxsms никаких ошибок не сообщает?

LMM

Quote from: Victor Kirhenshtein on June 10, 2016, 07:48:05 PM
Попробуйте поставить уровень дебага 5 и посмотрите в логе сервера записи с префиксом SMS: - драйвер должен написать какой именно шаг отсылки не прошел.

Еще вопрос - а собственно nxsms никаких ошибок не сообщает?
Добрый день, Виктор!

Выставил уровень дебага 5 и отыскал в логе все, что касается отсылки смс:
Line 4: [14-Jun-2016 10:17:15.209] [DEBUG] SMS: GSM modem found on COM1:
Line 712: [14-Jun-2016 10:34:23.879] [DEBUG] EVENT send_sms [100041] (ID:70762 F:0x0001 S:3 TAG:"") FROM *NODE_NAME*: test message!
Line 713: [14-Jun-2016 10:34:23.879] [DEBUG] *actions* Executing action 2 (sms-send) of type SEND SMS
Line 713: [14-Jun-2016 10:34:23.879] [DEBUG] *actions* Executing action 2 (sms-send) of type SEND SMS
Line 714: [14-Jun-2016 10:34:23.879] [DEBUG] *actions* Sending SMS to 7910*******: "test"
Line 715: [14-Jun-2016 10:34:23.879] [DEBUG] SMS sender: rcpt=7910******* text="test"
Line 716: [14-Jun-2016 10:34:23.879] [DEBUG] SMS: send to {7910*******}: {test}
Line 771: [14-Jun-2016 10:34:26.504] [DEBUG] SMS: ReadToOK: readToMark returned 0
Line 923: [14-Jun-2016 10:34:28.645] [DEBUG] SMS: ATZ sent, got OK
Line 1075: [14-Jun-2016 10:34:30.754] [DEBUG] SMS: ATE0 sent, got OK
Line 1461: [14-Jun-2016 10:34:32.864] [DEBUG] SMS: AT+CMGF=1 sent, got OK
Line 2331: [14-Jun-2016 10:35:05.082] [DEBUG] SMS: non-OK response (ERROR
Line 2332: [14-Jun-2016 10:35:05.098] [DEBUG] Failed to send SMS (will retry)
Line 2333: [14-Jun-2016 10:35:05.098] [DEBUG] SMS: send to {7910*******}: {test}
Line 2418: [14-Jun-2016 10:35:07.707] [DEBUG] SMS: ReadToOK: readToMark returned 0
Line 2452: [14-Jun-2016 10:35:09.817] [DEBUG] SMS: ATZ sent, got OK
Line 2453: [14-Jun-2016 10:35:11.926] [DEBUG] SMS: ATE0 sent, got OK
Line 2521: [14-Jun-2016 10:35:14.036] [DEBUG] SMS: AT+CMGF=1 sent, got OK
Line 3309: [14-Jun-2016 10:35:46.255] [DEBUG] SMS: non-OK response (ERROR
Line 3310: [14-Jun-2016 10:35:46.271] [DEBUG] Failed to send SMS (will retry)
Line 3311: [14-Jun-2016 10:35:46.271] [DEBUG] SMS: send to {7910*******}: {test}
Line 3495: [14-Jun-2016 10:35:48.880] [DEBUG] SMS: ReadToOK: readToMark returned 0
Line 3501: [14-Jun-2016 10:35:50.990] [DEBUG] SMS: ATZ sent, got OK
Line 3622: [14-Jun-2016 10:35:53.099] [DEBUG] SMS: ATE0 sent, got OK
Line 3648: [14-Jun-2016 10:35:55.208] [DEBUG] SMS: AT+CMGF=1 sent, got OK
Line 4140: [14-Jun-2016 10:36:27.428] [DEBUG] SMS: non-OK response (ERROR
Line 4141: [14-Jun-2016 10:36:27.443] [DEBUG] Failed to send SMS (will not retry)
Line 4142: [14-Jun-2016 10:36:27.443] [DEBUG] Failed to send SMS (complete failure)
Line 4143: [14-Jun-2016 10:36:27.443] [DEBUG] EVENT SYS_SMS_FAILURE [30] (ID:70856 F:0x0001 S:1 TAG:"") FROM SRVMNG: Unable to send SMS to phone 7910*******
Line 4143: [14-Jun-2016 10:36:27.443] [DEBUG] EVENT SYS_SMS_FAILURE [30] (ID:70856 F:0x0001 S:1 TAG:"") FROM SRVMNG: Unable to send SMS to phone 7910*******

Сам netxms ни на что более не ругается (все в том же логе). Или надо было смотреть еще где?

LMM

Victor Kirhenshtein, не подскажите что дальше?! Почему из netxms не отправляется смс, а напрямую через putty я могу это сделать...

LMM

UP

Неужели нет решения?

Victor Kirhenshtein

Посмотрел внимательней лог - получается что модем дает ошибку на AT+CMGS. Когда делали отсылку с терминала, как вводили номер? Драйвер дает номер в двойных кавычках (например AT+CMGS="+15557770001"), возможно этот модем такой формат не понимает.

LMM

Quote from: Victor Kirhenshtein on July 07, 2016, 12:25:26 PM
Посмотрел внимательней лог - получается что модем дает ошибку на AT+CMGS. Когда делали отсылку с терминала, как вводили номер? Драйвер дает номер в двойных кавычках (например AT+CMGS="+15557770001"), возможно этот модем такой формат не понимает.

Когда отсылал с терминала вводил без ковычек.
Получается нужно менять модем?Оо патчика никакого не сделать? Или может я могу где что-нибудь подправить, что бы все отсылалось нормально из NetXMS?

Victor Kirhenshtein

Без патча не получится. Я сегодня/завтра соберу драйвер с изменением, можно будет попробовать.

LMM

Quote from: Victor Kirhenshtein on July 18, 2016, 12:51:03 PM
Без патча не получится. Я сегодня/завтра соберу драйвер с изменением, можно будет попробовать.

СПАСИБО!
С нетерпением жду Ваш чудо-драйвер!  :D ;D

Victor Kirhenshtein

В аттаче драйвер с изменениями (для 64 бит Windows). В SMSDrvConfig надо будет поставить тип сообщения NTEXT, например:

COM1:,9600,8,N,1,NTEXT