Search Results for 'SMS API'

Home Forums Search Search Results for 'SMS API'

Viewing 30 results - 1 through 30 (of 249 total)
  • Author
    Search Results
  • #33494
    Mike McNeil
    Moderator

    Hello Brandon,
    Please review the API documentation from the .net site:

    MTR, Conduit, and Conduit 300 API Reference


    The Appendix section has information dealing with SMS.
    Hope this helps.
    Regards,
    Mike

    #33493
    Brandon Gooch
    Participant

    I need to manage the mailboxes using the AEP HTTP API. I cannot find any documents indications if or how I can do so. Has anyone been able to do such a thing? We’re calling the API from a C program using an HTTP client library.

    #32154

    Hello,
    Sending SMS requires to be logged as highest level (even with API). Is it possible to decrease this requirement to level 1 (engineer) ?

    #31768
    Mike McNeil
    Moderator
    Rafael
    Participant

    Hi,

    We have a few MTCAP-LEU1 gateways using SIM cards to connect to the internet and everything is working fine. However, more recently we bought the MTCAP-L4E1-868-001A and we’re not able to connect it to the cellular network.

    Here are the logs from /var/log/messages/:

    2020-11-20T21:07:31.208145+01:00 mtcap admin: ppp Unable to pull configurations from API
    2020-11-20T21:07:35.568746+01:00 mtcap admin: ppp Unable to pull configurations from API
    2020-11-20T21:07:48.859126+01:00 mtcap lora-network-server: GW:00-80-00-00-00-01-62-71|FRAME-RX|Parsing 1 packets
    2020-11-20T21:07:48.862063+01:00 mtcap lora-network-server: GW:00-80-00-00-00-01-62-71|FRAME-RX|REJECTED|REASON: Message received from unknown device 1f-bd-2b-19 VALUE: 45
    2020-11-20T21:07:59.796578+01:00 mtcap pppd[7990]: pppd 2.4.7 started by root, uid 0
    2020-11-20T21:08:00.966693+01:00 mtcap chat[7999]: info: Attempting Basic Radio Communication
    2020-11-20T21:08:00.967932+01:00 mtcap chat[7999]: send (AT^M)
    2020-11-20T21:08:01.031988+01:00 mtcap chat[7999]: expect (OK)
    2020-11-20T21:08:01.033570+01:00 mtcap chat[7999]: AT^M^M
    2020-11-20T21:08:01.036449+01:00 mtcap chat[7999]: OK
    2020-11-20T21:08:01.038247+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:01.039461+01:00 mtcap chat[7999]: info: Checking if SIM is inserted
    2020-11-20T21:08:01.040349+01:00 mtcap chat[7999]: send (AT#SIMDET?^M)
    2020-11-20T21:08:01.268813+01:00 mtcap chat[7999]: expect (#SIMDET: 2,1)
    2020-11-20T21:08:01.272808+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:01.275824+01:00 mtcap chat[7999]: AT#SIMDET?^M^M
    2020-11-20T21:08:01.278385+01:00 mtcap chat[7999]: #SIMDET: 2,1
    2020-11-20T21:08:01.279829+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:01.281456+01:00 mtcap chat[7999]: info: Checking if SIM is locked
    2020-11-20T21:08:01.284029+01:00 mtcap chat[7999]: send (AT+CPIN?^M)
    2020-11-20T21:08:01.475645+01:00 mtcap chat[7999]: expect (READY)
    2020-11-20T21:08:01.476012+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:01.476968+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:01.480297+01:00 mtcap chat[7999]: OK^M
    2020-11-20T21:08:01.482378+01:00 mtcap chat[7999]: AT+CPIN?^M^M
    2020-11-20T21:08:01.483312+01:00 mtcap chat[7999]: +CPIN: READY
    2020-11-20T21:08:01.485938+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:01.486238+01:00 mtcap chat[7999]: info: SIM was unlocked
    2020-11-20T21:08:01.486467+01:00 mtcap chat[7999]: info: Waiting for minimum signal strength
    2020-11-20T21:08:01.486695+01:00 mtcap chat[7999]: send (AT+CSQ^M)
    2020-11-20T21:08:01.630986+01:00 mtcap chat[7999]: expect (+CSQ: )
    2020-11-20T21:08:01.631341+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:01.632368+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:01.633282+01:00 mtcap chat[7999]: OK^M
    2020-11-20T21:08:01.638062+01:00 mtcap chat[7999]: AT+CSQ^M^M
    2020-11-20T21:08:01.640059+01:00 mtcap chat[7999]: +CSQ: 
    2020-11-20T21:08:01.642075+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:01.643307+01:00 mtcap chat[7999]: expect (99,99)
    2020-11-20T21:08:01.644613+01:00 mtcap chat[7999]: 22,5^M
    2020-11-20T21:08:01.646526+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:01.649734+01:00 mtcap chat[7999]: OK^M
    2020-11-20T21:08:02.644814+01:00 mtcap chat[7999]: alarm
    2020-11-20T21:08:02.645496+01:00 mtcap chat[7999]: send (AT^M)
    2020-11-20T21:08:02.708186+01:00 mtcap chat[7999]: expect (OK)
    2020-11-20T21:08:02.709320+01:00 mtcap chat[7999]: AT^M^M
    2020-11-20T21:08:02.710227+01:00 mtcap chat[7999]: OK
    2020-11-20T21:08:02.711042+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:02.711335+01:00 mtcap chat[7999]: send (AT^M)
    2020-11-20T21:08:02.773873+01:00 mtcap chat[7999]: abort on (NO CARRIER)
    2020-11-20T21:08:02.776050+01:00 mtcap chat[7999]: abort on (BUSY)
    2020-11-20T21:08:02.777302+01:00 mtcap chat[7999]: abort on (ERROR)
    2020-11-20T21:08:02.779426+01:00 mtcap chat[7999]: expect (OK)
    2020-11-20T21:08:02.780983+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:02.782881+01:00 mtcap chat[7999]: AT^M^M
    2020-11-20T21:08:02.784324+01:00 mtcap chat[7999]: OK
    2020-11-20T21:08:02.785772+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:02.786490+01:00 mtcap chat[7999]: send (AT+CSQ^M)
    2020-11-20T21:08:02.932063+01:00 mtcap chat[7999]: expect (OK)
    2020-11-20T21:08:02.933621+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:02.935482+01:00 mtcap chat[7999]: AT+CSQ^M^M
    2020-11-20T21:08:02.938532+01:00 mtcap chat[7999]: +CSQ: 22,5^M
    2020-11-20T21:08:02.940299+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:02.942018+01:00 mtcap chat[7999]: OK
    2020-11-20T21:08:02.943914+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:02.945139+01:00 mtcap chat[7999]: send (AT+COPS=2^M)
    2020-11-20T21:08:03.151826+01:00 mtcap chat[7999]: expect (OK)
    2020-11-20T21:08:03.152662+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:03.185199+01:00 mtcap chat[7999]: AT+COPS=2^M^M
    2020-11-20T21:08:03.186485+01:00 mtcap chat[7999]: OK
    2020-11-20T21:08:03.187633+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:03.188836+01:00 mtcap chat[7999]: send (AT+CGDCONT=1,\"IP\",\"soracom.io\"^M)
    2020-11-20T21:08:03.828315+01:00 mtcap chat[7999]: expect (OK)
    2020-11-20T21:08:03.830156+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:03.916131+01:00 mtcap chat[7999]: AT+CGDCONT=1,"IP","soracom.io"^M^M
    2020-11-20T21:08:03.917916+01:00 mtcap chat[7999]: OK
    2020-11-20T21:08:03.919559+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:03.921478+01:00 mtcap chat[7999]: send (AT+COPS=0^M)
    2020-11-20T21:08:04.129338+01:00 mtcap chat[7999]: expect (OK)
    2020-11-20T21:08:04.129700+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:04.187331+01:00 mtcap chat[7999]: AT+COPS=0^M^M
    2020-11-20T21:08:04.190374+01:00 mtcap chat[7999]: OK
    2020-11-20T21:08:04.192060+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:04.193824+01:00 mtcap chat[7999]: send (ATDT*99***1#^M)
    2020-11-20T21:08:04.463372+01:00 mtcap chat[7999]: expect (CONNECT)
    2020-11-20T21:08:04.464940+01:00 mtcap chat[7999]: ^M
    2020-11-20T21:08:04.472993+01:00 mtcap chat[7999]: ATDT*99***1#^M^M
    2020-11-20T21:08:04.475347+01:00 mtcap chat[7999]: CONNECT
    2020-11-20T21:08:04.479104+01:00 mtcap chat[7999]:  -- got it
    2020-11-20T21:08:04.482018+01:00 mtcap pppd[7990]: Script chat -v -t 90 -f /var/run/config/ppp_chat -c finished (pid 7999), status = 0x0
    2020-11-20T21:08:04.482585+01:00 mtcap pppd[7990]: Serial connection established.
    2020-11-20T21:08:04.488213+01:00 mtcap pppd[7990]: using channel 6
    2020-11-20T21:08:04.501515+01:00 mtcap pppd[7990]: Using interface ppp0
    2020-11-20T21:08:04.505082+01:00 mtcap pppd[7990]: Connect: ppp0 <--> /dev/modem_at0
    2020-11-20T21:08:05.474830+01:00 mtcap pppd[7990]: rcvd [LCP ConfReq id=0x10 <asyncmap 0x0> <auth chap MD5> <magic 0x275c5a35> <pcomp> <accomp>]
    2020-11-20T21:08:05.476302+01:00 mtcap pppd[7990]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x86b0fab4> <pcomp> <accomp>]
    2020-11-20T21:08:05.486840+01:00 mtcap pppd[7990]: sent [LCP ConfAck id=0x10 <asyncmap 0x0> <auth chap MD5> <magic 0x275c5a35> <pcomp> <accomp>]
    2020-11-20T21:08:05.509485+01:00 mtcap pppd[7990]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x86b0fab4> <pcomp> <accomp>]
    2020-11-20T21:08:05.514391+01:00 mtcap pppd[7990]: rcvd [LCP DiscReq id=0x11 magic=0x275c5a35]
    2020-11-20T21:08:05.516021+01:00 mtcap pppd[7990]: rcvd [CHAP Challenge id=0x1 <67bdf261479215e4247e45efe5668770>, name = "UMTS_CHAP_SRVR"]
    2020-11-20T21:08:05.518045+01:00 mtcap pppd[7990]: sent [CHAP Response id=0x1 <0ac2a89084cd453793a2c6eff85ff45c>, name = "mtcap"]
    2020-11-20T21:08:05.520545+01:00 mtcap pppd[7990]: rcvd [CHAP Success id=0x1 ""]
    2020-11-20T21:08:05.521046+01:00 mtcap pppd[7990]: CHAP authentication succeeded
    2020-11-20T21:08:05.521809+01:00 mtcap pppd[7990]: CHAP authentication succeeded
    2020-11-20T21:08:05.522447+01:00 mtcap pppd[7990]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
    2020-11-20T21:08:05.558922+01:00 mtcap pppd[7990]: Hangup (SIGHUP)
    2020-11-20T21:08:05.559584+01:00 mtcap pppd[7990]: Modem hangup
    2020-11-20T21:08:05.561995+01:00 mtcap pppd[7990]: Connection terminated.
    2020-11-20T21:08:05.812167+01:00 mtcap monitorppp: Starting Monitoring
    2020-11-20T21:08:06.642487+01:00 mtcap pppd[7990]: Connection terminated.
    2020-11-20T21:08:08.835599+01:00 mtcap after-switch-inet: executing after-switch-inet hooks with [ -a -i -a eth0] arguments
    2020-11-20T21:08:08.918944+01:00 mtcap after-switch-inet: restarting dnsmasq
    2020-11-20T21:08:09.254522+01:00 mtcap ppp-rx-monitor: PPP Rx Monitor: Starting The Application
    2020-11-20T21:08:16.361896+01:00 mtcap after-switch-inet: calling ddns checkip
    2020-11-20T21:08:17.158857+01:00 mtcap after-switch-inet: triggering WANFAILOVER alert
    2020-11-20T21:08:17.347973+01:00 mtcap after-switch-inet: restarting annex client
    2020-11-20T21:08:17.669612+01:00 mtcap annexcd: [NOTICE] main.cc:wait_signals_loop:609: SIGTERM caught
    2020-11-20T21:08:17.894308+01:00 mtcap after-switch-inet: done.
    2020-11-20T21:08:20.583119+01:00 mtcap annexcd: [INFO] main.cc:detect_device_type_by_eeprom:437: eeprom vendor-id: Multi-Tech Systems
    2020-11-20T21:08:20.584748+01:00 mtcap annexcd: [INFO] main.cc:detect_device_type_by_eeprom:438: eeprom product-id: MTCAP-L4E1-868-001A
    

    PPP configuration (db.json):

    
       "ppp" : {                                                                                                                          
          "__v" : 1,                       
          "authentication" : {                                                                                                            
             "password" : "",               
             "type" : "NONE",                                                                                                             
             "username" : ""                                                                                                              
          },                                                                                                                              
          "connectTimeout" : 90,                
          "dialOnDemand" : false,                                                                                                         
          "diversity" : true,             
          "enabled" : true,                                                                                                               
          "idleTimeout" : 180,            
          "keepAlive" : {                     
             "dataRecv" : {                     
                "enabled" : true,               
                "window" : 60             
             },                          
             "enabled" : false,           
             "hostname" : "",             
             "icmpCount" : 4,             
             "pingInterval" : 60,           
             "radioReboot" : {                        
                "enabled" : false            
             },                                       
             "tcpPort" : 80,             
             "type" : "ICMP"                          
          },                                                     
          "maxRetries" : 0, 
          "modem" : {                                                                                                                     
             "apnString" : "soracom.io",                                                                                                  
             "baudRate" : 115200,                                                                                                         
             "commands" : [],                   
             "connectString" : "CONNECT",                                                                                                 
             "contextId" : 1,             
             "dialNumber" : "*99***1#",                                                                                                   
             "dialPrefix" : "ATDT",       
             "fwSwitch" : "auto",             
             "initStrings" : [ "AT+CSQ", "", "", "" ],
             "simPin" : ""                      
          },                              
          "nat" : true,                  
          "powerOnInitString" : "",                   
          "protocol" : "PPP",             
          "wakeUpOnCall" : {              
             "ackString" : "",              
             "callerIds" : [],                        
             "delay" : 10,                   
             "enabled" : false,                       
             "fromLan" : false,          
             "initStrings" : [],                      
             "onCallerId" : false,                               
             "onRing" : false,                        
             "onSms" : false                    
          }                                           
       },  
    

    sudo ifconfig:

    
    eth0      Link encap:Ethernet  HWaddr 00:08:00:4A:B0:DB  
              inet addr:172.20.223.78  Bcast:172.20.223.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:3931 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3392 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:350356 (342.1 KiB)  TX bytes:783300 (764.9 KiB)
              Interrupt:23 Base address:0xc000 
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:32090 errors:0 dropped:0 overruns:0 frame:0
              TX packets:32090 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1 
              RX bytes:2019387 (1.9 MiB)  TX bytes:2019387 (1.9 MiB)
    

    As you can see, there’s no ppp0 interface in the output of the ifconfig. We configured the gateway using the Web UI.

    Any ideas on how to solve this problem?

    Thanks,

    Rafael

    #30624

    In reply to: API questions

    Jeff Hatch
    Keymaster

    Amaud,

    The following info should help in doing commissioning through the API.

    // Execute this command to check that the device is in the commissioning mode
    
    andrey@andrey-HP-ProBook-640-G1:~/Downloads$ curl -k "https://192.168.2.1/api/commissioning"
    {
       "code" : 200,
       "status" : "success"
    }
    
    // Execute this command to set the username. In the example the username is "admin"
    
    andrey@andrey-HP-ProBook-640-G1:~/Downloads$ curl -k -X POST -H "Content-Type: json/application" -d '{"username":"admin", "aasID": "", "aasAnswer":""}' https://192.168.2.1:443/api/commissioning
    {
       "code" : 200,
       "result" : {
          "aasDone" : false,
          "aasID" : "5EC7E7C8FE2A6E3584D2A124A10E9",
          "aasMsg" : "New password: ",
          "aasType" : "question; input hide"
       },
       "status" : "success"
    }
    
    // Execute this command to set the password. Use the aasID value that is received in the previous response.
    
    andrey@andrey-HP-ProBook-640-G1:~/Downloads$ curl -k -X POST -H "Content-Type: json/application" -d '{"username":"admin", "aasID": "5EC7E7C8FE2A6E3584D2A124A10E9", "aasAnswer":"Admin123"}' https://192.168.2.1:443/api/commissioning
    {
       "code" : 200,
       "result" : {
          "aasDone" : false,
          "aasID" : "5EC7E7C8FE2A6E3584D2A124A10E9",
          "aasMsg" : "Retype new password: ",
          "aasType" : "question; input hide"
       },
       "status" : "success"
    }
    
    // Execute this command to confirm the password. If you get a response to the command "Change password success!", it means that the commissioning mode has been completed successfully.
    
    andrey@andrey-HP-ProBook-640-G1:~/Downloads$ curl -k -X POST -H "Content-Type: json/application" -d '{"username":"admin", "aasID": "5EC7E7C8FE2A6E3584D2A124A10E9", "aasAnswer":"Admin123"}' https://192.168.2.1:443/api/commissioning
    {
       "code" : 200,
       "result" : {
          "aasDone" : true,
          "aasID" : "5EC7E7C8FE2A6E3584D2A124A10E9",
          "aasMsg" : "Change password success!",
          "aasType" : "info"
       },
       "status" : "success"
    }
    
    *****************************************************************************************************************************************************************
    

    Jeff

    #27487
    Steve van der Burg
    Participant

    I see now that there’s version 4.1.0 of the firmware out. I had to guess at the URL of its change log (based on the 4.0.5 one that you gave me) and in it I see this:

    – Certain version 1 API (/api/v1) calls do not work.

    That’s a pretty scary line to come across. Can you refer me to documentation for the API version that 4.1.0 uses? I can’t seem to find that anywhere either.

    And it looks like the same basic issues still exist:

    – A misunderstanding of how REST should work. It should be stateless, and not have a notion of “logging in” or “logging out”. And it certainly shouldn’t tie a user to a connecting IP address.
    – The API for SMS send should return a unique identifier for each request, and another call should return status on the message with that identifier.

    Do you know if any development work is going on that would address either of these?

    Thanks,

    …Steve

    #26895

    In reply to: API Authentication

    Thanks Jeff.
    For people who prefer php scripts (Thanks to Adlane):

    <?php

    function transfert($url,$tabData){
    $data=json_encode($tabData);
    $ch = curl_init();
    $options = array(
    CURLOPT_URL=>$url,
    CURLOPT_RETURNTRANSFER=> 1,
    CURLOPT_POST => true,
    CURLOPT_SSL_VERIFYHOST => 0,
    CURLOPT_SSL_VERIFYPEER => 0,
    CURLOPT_HTTPHEADER => array(‘Content-Type:application/json’),
    CURLOPT_POSTFIELDS => $data
    );
    curl_setopt_array($ch,$options);
    $result = curl_exec($ch);
    if (curl_error($ch)) {
    $result = curl_error($ch);
    echo ‘erreur ‘.$result;
    }
    curl_close($ch);
    return $result;
    }

    //1ere URL Login :
    $url=”https://192.168.30.38/api/login&#8221;;

    //param authentification  :
    $login[‘username’]=”admin”;
    $login[‘password’]=”admin”;

    //envoi de la requete d’authentification et récupération du résultat:
    $result_Gw=transfert($url,$login);
    $result_Gw=json_decode($result_Gw);

    //recuperation du token
    $token_Gw=$result_Gw->result->token;

    if(isset($token_Gw)){
    //2eme URL pour l’envoi du SMS
    $url2=”https://192.168.30.38/api/sms/outbox?token=&#8221;.$token_Gw;

    //construction de la requete :
    $SMS[‘recipients’]=[“+33012345678″];
    $SMS[‘message’]=”TEST MESSAGE”;

    //envoi de la requete :
    $result_Gw2=transfert($url2,$SMS);

    //affichage du resultat final :
    print_r($result_Gw2);

    }

    ?>

    #26892

    In reply to: API Authentication

    Jeff Hatch
    Keymaster

    Hello Denis,

    Currently, on the AEP Conduit you can use the following example:

    This curl example can be used externally to do a login:

    curl -ik -c cookies -X POST -H ‘Content-Type: application/json’ -d ‘{“username”:”admin”,”password”:”admin”}’ https://192.168.2.2/api/login

    Get the token from the response:

    HTTP/1.1 200 OK
    Set-Cookie: token=F2A41FB275BF23F5AB382373DB7B20A4; Max-Age=300; Path=/; Secure
    Cache-Control: no-cache
    Content-type: application/json
    Transfer-Encoding: chunked
    Date: Wed, 22 Feb 2017 09:36:42 GMT
    Server: rcell

    {
    “code” : 200,
    “result” : {
    “address” : “192.168.2.200”,
    “permission” : “admin”,
    “port” : “45170”,
    “timestamp” : “9:36:42:216”,
    “token” : “F2A41FB275BF23F5AB382373DB7B20A4”,
    “user” : “admin”
    },
    “status” : “success”
    }

    Then use the token in the curl POST request to send an SMS:

    curl -k -X POST -H “Content-Type:application/json” -d ‘{“recipients” : [“1234567890”], “message” : “This is a test of sms_send” }’ https://192.168.2.2/api/sms/outbox?token=F2A41FB275BF23F5AB382373DB7B20A4
    {
    “code” : 200,
    “status” : “success”
    }

    In the future this is going to change due to multiple user support and API changes that are being made.

    Jeff

    #23731
    Mike McNeil
    Moderator

    Hello Steve,

    I’m not aware of the exact capabilities or specifics concerning the MTR’s SMS API abilities. I would recommend you create a Support Case at https://support.multitech.com and we can try to get the proper people included on the case.

    Regards,
    Mike

    #23730
    Steve van der Burg
    Participant

    Okay, thanks for clarifying. I’m using 3.7.3.

    Although we’re in production with 4 rcell modems now, and sending about 1800 SMS messages a day in total across those modems, I’m really not happy with my inability to build a useful, robust service using interactions with, and information from, the REST API.

    I’ve also seen a lot of buggy behavior that has led to missing SMS messages. Just yesterday, a modem failed to send an SMS and then failed to send each message after that (for 2 hours). Once I rebooted the modem it then was able to send every “failed” message except the first one.

    Aside from bugs, my first issue has to do with the modem API’s inability to tell me whether “failed” means “failed to hand the SMS off to the provider (that the modem’s SIM belongs to)” or “provider told me that this message can’t be sent (in the case of a phone number that can’t be messaged)”.

    The second and HUGE issue is the inability to track a message. When I submit an SMS request to the modem I should get its GUID back in the response. That would give me a way to poll the sent box and tie outcomes for messages there to messages that I have sent.

    When polling the sent box, each message’s status should include the number of retries attempted so far (not the “retries” setting, which is what it seems to return now). Also, I’d like documentation on the retry schedule (eg. does the modem retry all ‘failed’ messages that haven’t hit the retry limit once per minute, does it back off and try less and less frequently per failed message, etc).

    #23725
    Mike McNeil
    Moderator

    Hello Steve,

    “Does not fail if SMS is longer than 160 characters”
    – If using the API to send SMS messages you do not receive the 400 error fail message because of the length limit. The message will sometimes send and truncate at 160 other times it will not send at all. Note: In the WebGUI the SMS truncates at 160 characters.

    “Has issues depending on location of spaces”
    – This involves using the API for the SMS Commands function, the reboot, checkin, ping, etc … commands. For example, sending the SMS command “p<space><space>password<space>#reboot” through the API causes issues compared to the documented “p<space>password<space>#reboot”.

    You did not mention what version of MTR code you were using, but these issues have likely been in the firmware since the API SMS Commands were implemented in 3.4.5.

    Regards,
    Mike

    #23724
    Steve van der Burg
    Participant

    I’m contemplating upgrading my modems to 4.0.5, but would like some more details on this, from the release notes:

    – SMS Command API ignores 6 character password limit, does not fail if SMS is
    longer than 160 characters, has issues depending on location of spaces and can
    not view view/delete inbox/outbox.

    Please clarify “does not fail if SMS is longer than 160 characters”. Does that mean that it still passes it onto the provider? Or does it break it into chunks (multiple messages) and send those, like the SMS spec seems to indicate?

    Also, “has issues depending on location of spaces” doesn’t sound good. Does this mean that I can expect seemingly-random SMS delivery failures depending on the content of the message?

    …Steve

    #22199
    Yury Ambrosov
    Participant

    When i send sms from my phone to “7897987900375298788622” i see error in 5 secs not 10 mins. So may be this can be configured not only on provider side but on isms modem ?

    #22198
    Yury Ambrosov
    Participant

    Hello,

    I ‘m using Send API to send sms. If i sent sms to not correct number (for example 0000037529000000000) time for process such sms can be 10 mins

    Dec 29 11:48:10 boa[4920]: httplivelog: MultiModem iSMS To HTTP API
    HTTP/1.0 200 OK
    ID: 313 Status: 2
    ….. 10mins …..
    ec 29 11:59:24 boa[4920]: httplivelog: MultiModem iSMS To HTTP API
    HTTP/1.0 200 OK
    ID: 313 Status: 4

    [Fri Dec 29 11:48:05 2017] : [MSG ID] : 313 [STATUS] : In Progress
    [Fri Dec 29 11:50:26 2017] : [MSG ID] : 314 [STATUS] : Request Received

    >>> AT Logs :
    Dec 29 11:51:58 modem: livelog: [SEND] : AT+CMGS=7897987900375298788622
    Dec 29 11:52:00 modem: livelog: [RECV] :
    >
    +CMS ERROR: 305

    Dec 29 11:52:00 modem: livelog: [SEND] : sms text
    Dec 29 11:53:01 modem: livelog: [SEND] : AT+CFUN=0
    Dec 29 11:53:02 modem: livelog: [SEND] : AT+CFUN=0
    Dec 29 11:53:03 modem: livelog: [RECV] :
    +CME ERROR: 515

    >>> AT Logs :

    It seems like gsm provider tries to find out recipient.

    Is it possible to change this delay on modem side?
    Cause if i send 2 sms (on not corrrect and one correct) – the second sms will be delivered in +10mins.

    #22111
    Ronell Baclaan
    Participant

    Hi Multitech!

    I’m trying to develop a web based sms system in w/c it will accept/receive text message from client using PHP as front end and Mysql is the backend.

    I tried to google it but I wasn’t able to find a better answer. Please help me.

    Thanks in advance.

    Alexander Budkov
    Participant

    I try to send or to get SMS messages in my application. So I am using RESTful JSON API http://www.multitech.net/developer/software/mtr-software/mtr-api-reference
    And it works only for english text but i need to use other languages in the unicode format.

    I see only this one
    http://192.168.2.1/api/sms/outbox?data={“recipients”:[“12345678900″],”message”:”Hello World”}&token=2442CB0CB60B2EE9F5A35DF5ED8C33&method=POST’

    Also I didn’t find how I can send and get response with AT commands
    I tried to use api/command/radio_cmd for this but for some reason it’s doesn’t work for me.

    If MTR API doesn’t support unicode messages, I want to send command AT+CSCS=”UCS2″ in modem

    Can you give me any examples?

    #20125
    Dejan Rabic
    Participant

    Dear all,

    I have a problem with my rCell 100. I’m reading and sending SMS messages with the help of a custom Windows services. I created a separate user for each service, like this

    POST [rcell_ip]/users?token=[token]
    Message body {"name": "someUsername", "password": "somePassword"}

    This functions well and users get created, until the next time the rCell gets restarted (via [rcell_ip]/api/command/restart or due to power outage). Then the rCell just forgets about these users and remembers only default admin/admin user.

    In place where we host the rCell there’s very unreliable power supply, as well as very bad internet connection, but I don’t have any influence on that.

    So, my question is, how could I prevent forgetting these users? I could write a new service that would use default admin user and check whether there are required users and if not, create them. But I’d prefer not to go down this way, since it’s hacky and time consuming.

    #19566
    Pascal
    Participant

    Hi, thank you for the reply and also appreciate the phone call with Steve!
    The reset button produces no effect, whether short, medium, or long. I tried many different ways. Also the console access behind the MultiTech front cover will display the boot-up process but afterwards there is no console login. It just echoes back anything I type. Also I used to be able to get access to the console through the USB connector on the back, this is also no longer working.
    I think the device may be defective. I will contact MultiTech tomorrow and I will send the gateway to you for further investigation.

    Many thanks!

    Below is the log from the boot process, that’s the best I can do right now:

    AT91Bootstrap 3.5.3-r2 (Thu Nov 17 17:15:52 CST 2016)
    
    NAND: ONFI flash detected
    NAND: Manufacturer ID: 0x2c Chip ID: 0x32
    NAND: Disable On-Die ECC
    NAND: Initialize PMECC params, cap: 0x4, sector: 0x200
    NAND: Image: Copy 0x80000 bytes from 0x40000 to 0x2ef00000
    NAND: Done to load image
    
    U-Boot 2012.10-mtcdt-r6 (Nov 17 2016 - 17:15:52)
    
    CPU: AT91SAM9G25
    Crystal frequency:       12 MHz
    CPU clock        :      400 MHz
    Master clock     :  133.333 MHz
    I2C:   ready
    DRAM:  256 MiB
    WARNING: Caches not enabled
    NAND:  256 MiB
    *** Warning - bad CRC, using default environment
    
    In:    serial
    Out:   serial
    Err:   serial
    vendor-id:  Multi-Tech Systems
    product-id: MTCDT-210A
    device-id:  18919932
    hw-version: MTCDT-0.0
    mac-addr:   00:08:00:4a:11:fd
    Net:   macb0
    Hit any key to stop autoboot:  0
    
    Loading from nand0, offset 0x200000
       Image Name:   mLinux/3.12.27/mtcdt
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2801115 Bytes = 2.7 MiB
       Load Address: 20008000
       Entry Point:  20008000
    ## Booting kernel from Legacy Image at 22000000 ...
       Image Name:   mLinux/3.12.27/mtcdt
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2801115 Bytes = 2.7 MiB
       Load Address: 20008000
       Entry Point:  20008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Uncompressing Linux... done, booting the kernel.
    Booting Linux on physical CPU 0x0
    Linux version 3.12.27 (jenkins@frylock) (gcc version 4.8.2 (GCC) ) #1 Thu Nov 17 16:55:55 CST 2016
    Machine: Atmel AT91SAM (Device Tree), model: Multi-Tech Systems MTCDT
    AT91: Detected soc type: at91sam9x5
    AT91: Detected soc subtype: at91sam9g25
    AT91: sram at 0x300000 of 0x8000 mapped at 0xfef70000
    Kernel command line: mem=256M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2
    PID hash table entries: 1024 (order: 0, 4096 bytes)
    Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    Virtual kernel memory layout:
        vector  : 0xffff0000 - 0xffff1000   (   4 kB)
        fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
        vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
        lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
        modules : 0xbf000000 - 0xc0000000   (  16 MB)
          .text : 0xc0008000 - 0xc04ef50c   (5022 kB)
          .init : 0xc04f0000 - 0xc0517cbc   ( 160 kB)
          .data : 0xc0518000 - 0xc05407a0   ( 162 kB)
           .bss : 0xc05407a0 - 0xc055f408   ( 124 kB)
    NR_IRQS:16 nr_irqs:16 16
    sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
    Calibrating delay loop... 199.06 BogoMIPS (lpj=995328)
    pid_max: default: 32768 minimum: 301
    Mount-cache hash table entries: 512
    Initializing cgroup subsys blkio
    CPU: Testing write buffer coherency: ok
    Setting up static identity map for 0xc03a9b70 - 0xc03a9bc8
    devtmpfs: initialized
    pinctrl core: initialized pinctrl subsystem
    NET: Registered protocol family 16
    DMA: preallocated 256 KiB pool for atomic coherent allocations
    AT91: Power Management (with slow clock mode)
    AT91: Starting after power-restored wakeup
    gpio-at91 fffff400.gpio: at address fefff400
    gpio-at91 fffff600.gpio: at address fefff600
    gpio-at91 fffff800.gpio: at address fefff800
    gpio-at91 fffffa00.gpio: at address fefffa00
    pinctrl-at91 pinctrl.2: initialized AT91 pinctrl driver
    bio: create slab <bio-0> at 0
    at_hdmac ffffec00.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels
    at_hdmac ffffee00.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    i2c-gpio i2c.3: using pins 30 (SDA) and 31 (SCL)
    i2c-gpio i2c.4: using pins 64 (SDA) and 65 (SCL)
    Switched to clocksource tcb_clksrc
    NET: Registered protocol family 2
    TCP established hash table entries: 2048 (order: 2, 16384 bytes)
    TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    TCP: Hash tables configured (established 2048 bind 2048)
    TCP: reno registered
    UDP hash table entries: 256 (order: 0, 4096 bytes)
    UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    NET: Registered protocol family 1
    RPC: Registered named UNIX socket transport module.
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    NFS: Registering the id_resolver key type
    Key type id_resolver registered
    Key type id_legacy registered
    jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
    ROMFS MTD (C) 2007 Red Hat, Inc.
    msgmni has been set to 496
    Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
    io scheduler noop registered (default)
    io scheduler deadline registered
    io scheduler cfq registered
    fffff200.serial: ttyS0 at MMIO 0xfffff200 (irq = 16, base_baud = 8333333) is a ATMEL_SERIAL
    console [ttyS0] enabled
    f8040000.serial: ttyS1 at MMIO 0xf8040000 (irq = 26, base_baud = 8333333) is a ATMEL_SERIAL
    brd: module loaded
    loop: module loaded
    at24_get_setup: found a match for eeprom at 56
    at24 0-0056: 512 byte 24c04 EEPROM, writable, 16 bytes/write
    sam9x5: read 512 bytes from id eeprom
    at24_get_setup: found a match for eeprom at 50
    at24 1-0050: 512 byte 24c04 EEPROM, writable, 16 bytes/write
    sam9x5: ap1 eeprom read failed: -110
    at24_get_setup: found a match for eeprom at 52
    at24 1-0052: 512 byte 24c04 EEPROM, writable, 16 bytes/write
    sam9x5: read 512 bytes from ap2 eeprom
    atmel_nand 40000000.nand: Using dma0chan0 for DMA transfers.
    ONFI param page 0 valid
    ONFI flash detected
    NAND device: Manufacturer ID: 0x2c, Chip ID: 0xaa (Micron MT29F2G08ABBEAHC), 256MiB, page size: 2048, OOB size: 64
    atmel_nand 40000000.nand: ONFI params, minimum required ECC: 4 bits in 512 bytes
    atmel_nand 40000000.nand: Initialize PMECC params, cap: 4, sector: 512
    Scanning device for bad blocks
    9 ofpart partitions found on MTD device atmel_nand
    Creating 9 MTD partitions on "atmel_nand":
    0x000000000000-0x000010000000 : "NANDFlash"
    0x000000000000-0x000000040000 : "at91bootstrap"
    0x000000040000-0x0000000c0000 : "u-Boot"
    0x0000000c0000-0x000000160000 : "u-Boot Config"
    0x000000160000-0x000000200000 : "u-Boot Redundant Config"
    0x000000200000-0x000000800000 : "uImage"
    0x000000800000-0x000001000000 : "Config"
    0x000001000000-0x000001800000 : "OEM Config"
    0x000001800000-0x000010000000 : "Rootfs"
    libphy: MACB_mii_bus: probed
    macb f802c000.ethernet eth0: Cadence MACB at 0xf802c000 irq 23 (00:08:00:4a:11:fd)
    macb f802c000.ethernet eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=f802c000.etherne:00, irq=-1)
    PPP generic driver version 2.4.2
    PPP BSD Compression module registered
    PPP Deflate Compression module registered
    ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    ehci-atmel: EHCI Atmel driver
    atmel-ehci 700000.ehci: EHCI Host Controller
    atmel-ehci 700000.ehci: new USB bus registered, assigned bus number 1
    atmel-ehci 700000.ehci: irq 31, io mem 0x00700000
    atmel-ehci 700000.ehci: USB 2.0 started, EHCI 1.00
    usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb1: Product: EHCI Host Controller
    usb usb1: Manufacturer: Linux 3.12.27 ehci_hcd
    usb usb1: SerialNumber: 700000.ehci
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 3 ports detected
    ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    at91_ohci 600000.ohci: AT91 OHCI
    at91_ohci 600000.ohci: new USB bus registered, assigned bus number 2
    at91_ohci 600000.ohci: irq 31, io mem 0x00600000
    usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
    usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb2: Product: AT91 OHCI
    usb usb2: Manufacturer: Linux 3.12.27 ohci_hcd
    usb usb2: SerialNumber: at91
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 3 ports detected
    rtc (null): invalid alarm value: 1900-1-1 0:0:0
    at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0
    at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver.
    i2c /dev entries driver
    at91sam9_wdt: enabled (heartbeat=15 sec, nowayout=0)
    Netfilter messages via NETLINK v0.30.
    nf_conntrack version 0.5.0 (3973 buckets, 15892 max)
    ipip: IPv4 over IPv4 tunneling driver
    gre: GRE over IPv4 demultiplexor driver
    ip_gre: GRE over IPv4 tunneling driver
    ip_tables: (C) 2000-2006 Netfilter Core Team
    TCP: cubic registered
    NET: Registered protocol family 17
    l2tp_core: L2TP core driver, V2.0
    Key type dns_resolver registered
    at91_rtc fffffeb0.rtc: setting system clock to 2017-06-15 20:52:22 UTC (1497559942)
    usb 1-2: new high-speed USB device number 2 using atmel-ehci
    usb 1-2: New USB device found, idVendor=0424, idProduct=2534
    usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    hub 1-2:1.0: USB hub found
    hub 1-2:1.0: 4 ports detected
    usb 2-3: new full-speed USB device number 2 using at91_ohci
    usb 2-3: New USB device found, idVendor=04e2, idProduct=1412
    usb 2-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    usb 1-2.2: new high-speed USB device number 3 using atmel-ehci
    usb 1-2.2: New USB device found, idVendor=0403, idProduct=6014
    usb 1-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    usb 1-2.2: Product: Single RS232-HS
    usb 1-2.2: Manufacturer: FTDI
    jffs2: Empty flash at 0x08541214 ends at 0x08541800
    jffs2: Empty flash at 0x0e719da0 ends at 0x0e71a000
    jffs2: notice: (1) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
    VFS: Mounted root (jffs2 filesystem) readonly on device 31:8.
    devtmpfs: mounted
    Freeing unused kernel memory: 156K (c04f0000 - c0517000)
    INIT: version 2.88 booting
    jffs2: Empty flash at 0x004e3930 ends at 0x004e4000
    jffs2: notice: (73) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
    jffs2: notice: (73) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
    Starting udev
    udevd[84]: starting version 182
    tmp102 0-0048: initialized
    atmel_spi f0000000.spi: version: 0x212
    atmel_spi f0000000.spi: Using dma0chan1 (tx) and dma0chan2 (rx) for DMA transfers
    atmel_spi f0000000.spi: Atmel SPI Controller at 0xf0000000 (irq 28)
    atmel_spi f0000000.spi: master is unqueued, this is deprecated
    usbcore: registered new interface driver cdc_acm
    cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    vizzini 2-3:1.0: This device cannot do calls on its own. It is not a modem.
    vizzini 2-3:1.0: ttyXRUSB0: XR21v14x usb uart device
    atmel_spi f0004000.spi: version: 0x212
    atmel_spi f0004000.spi: Using dma1chan0 (tx) and dma1chan1 (rx) for DMA transfers
    atmel_spi f0004000.spi: Atmel SPI Controller at 0xf0004000 (irq 29)
    atmel_spi f0004000.spi: master is unqueued, this is deprecated
    vizzini 2-3:1.2: This device cannot do calls on its own. It is not a modem.
    vizzini 2-3:1.2: ttyXRUSB1: XR21v14x usb uart device
    usbcore: registered new interface driver vizzini
    vizzini: Exar USB UART Driver for XR21V141x
    pps_core: LinuxPPS API ver. 1 registered
    pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    pps pps0: new PPS source pps.7.-1
    pps pps0: Registered IRQ 32 as PPS source
    usbcore: registered new interface driver usbserial
    usbcore: registered new interface driver usbserial_generic
    usbserial: USB Serial support registered for generic
    atmel_mci f0008000.mmc: version: 0x504
    atmel_mci f0008000.mmc: using dma0chan3 for DMA transfers
    atmel_mci f0008000.mmc: Atmel MCI controller at 0xf0008000 irq 22, 1 slots
    atmel_usba_udc 500000.gadget: MMIO registers at 0xf803c000 mapped at d09e4000
    atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at e1100000
    usbcore: registered new interface driver ftdi_sio
    usbserial: USB Serial support registered for FTDI USB Serial Device
    ftdi_sio 1-2.2:1.0: FTDI USB Serial Device converter detected
    usb 1-2.2: Detected FT232H
    usb 1-2.2: Number of endpoints 2
    usb 1-2.2: Endpoint 1 MaxPacketSize 512
    usb 1-2.2: Endpoint 2 MaxPacketSize 512
    usb 1-2.2: Setting MaxPacketSize 512
    usb 1-2.2: FTDI USB Serial Device converter now attached to ttyUSB0
    Starting Bootlog daemon: bootlogd.
    /var/config already mounted
    /var/oem already mounted
    Loading mts-io module
    [INFO] mts-io:mts_io_init:829: init: v1.1.1
    [INFO] mts-io:mts_id_eeprom_load:754: detected board MTCDT-0.0
    [INFO] mts-io:mts_id_eeprom_load:757: sizeof: 512
    [INFO] mts-io:mts_id_eeprom_load:758: vendor-id: Multi-Tech Systems
    [INFO] mts-io:mts_id_eeprom_load:759: product-id: MTCDT-210A
    [INFO] mts-io:mts_id_eeprom_load:760: device-id: 18919932
    [INFO] mts-io:mts_id_eeprom_load:761: hw-version: MTCDT-0.0
    [INFO] mts-io:mts_id_eeprom_load:768: mac-addr: 00:08:00:4A:11:FD
    [INFO] mts-io:mts_id_eeprom_load:770: imei:
    [INFO] mts-io:mts_id_eeprom_load:771: capa-gps: no
    [INFO] mts-io:mts_id_eeprom_load:772: capa-din: no
    [INFO] mts-io:mts_id_eeprom_load:773: capa-dout: no
    [INFO] mts-io:mts_id_eeprom_load:774: capa-adc: no
    [INFO] mts-io:mts_id_eeprom_load:775: capa-wifi: no
    [INFO] mts-io:mts_id_eeprom_load:776: capa-bluetooth: no
    [INFO] mts-io:mts_id_eeprom_load:800: uuid: A49E3E0805F2D92BAF5CFEAF116E21DC
    [INFO] mts-io:load_port:653: no accessory card inserted in port 1
    [INFO] mts-io:load_port:688: accessory card 2 vendor-id: Multi-Tech Systems
    [INFO] mts-io:load_port:689: accessory card 2 product-id: MTAC-LORA-915
    [INFO] mts-io:load_port:690: accessory card 2 device-id: 18869565
    [INFO] mts-io:load_port:691: accessory card 2 hw-version: MTAC-LORA-1.0
    [INFO] mts-io:load_port:712: accessory card 2 eui: 00:80:00:00:00:00:C5:E5
    [INFO] mts-io:lora_setup:42: loading LORA accessory card in port 2
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.all.rp_filter = 1
    INIT: Entering runlevel: 5
    Configuring network interfaces... done.
    Starting system message bus: dbus.
    Starting HOSTAP Daemon: Configuration file: /etc/hostapd.conf
    cfg80211: Calling CRDA to update world regulatory domain
    rfkill: Cannot open RFKILL control device
    Could not read interface wlan0 flags: No such device
    nl80211: Driver does not support authentication/association or connect commands
    nl80211: deinit ifname=wlan0 disabled_11b_rates=0
    Could not read interface wlan0 flags: No such device
    nl80211 driver initialization failed.
    wlan0: interface state UNINITIALIZED->DISABLED
    wlan0: AP-DISABLED
    hostapd_free_hapd_data: Interface wlan0 wasn't started
    macb f802c000.ethernet eth0: link up (100/Full)
    Starting syslogd/klogd: done
    [INFO] eeprom_main.c:main:536: loaded id eeprom from /sys/bus/i2c/devices/i2c-0/0-0056/eeprom successfully
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:276: sizeof: 512
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:277: vendor-id: Multi-Tech Systems
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:278: product-id: MTCDT-210A
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:279: device-id: 18919932
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:280: hw-version: MTCDT-0.0
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:287: mac-addr: 00:08:00:4A:11:FD
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:288: imei:
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:289: capa-gps: no
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:290: capa-din: no
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:291: capa-dout: no
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:292: capa-adc: no
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:293: capa-wifi: no
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:294: capa-bluetooth: no
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:302: mac-bluetooth: 00:00:00:00:00:00
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:309: mac-wifi: 00:00:00:00:00:00
    [INFO] eeprom_main.c:mts_id_eeprom_inspect:315: uuid: A49E3E0805F2D92BAF5CFEAF116E21DC
    Reading accessory cards data
    jffs2: notice: (241) check_node_data: wrong data CRC in data node at 0x0e719670: read 0x32195587, calculated 0x2a29a303.
    Adding accessory cards data
    Generating /var/run/config/lighttpd_port.conf
    starting local time setup...jffs2: warning: (522) jffs2_sum_write_data: Not enough space for summary, padsize = -955
    Setting timezone to  EST
    Generating Timezone List
    Loading [g_serial]
    g_serial gadget: Gadget Serial v2.4
    g_serial gadget: g_serial ready
    Starting Lighttpd Web Server: lighttpd.
    syslog configure and reload
    stopped syslogd (pid 389)
    Starting Mosquitto...
    starting backoff-timers setup
    backoff-timers init...
    array element is null. path [result/backOffTimers/timers/4/carrierName]. failed on [4]
    Using Default Backoff Timer Configurations
    starting network interfaces setup
    null path [result/ppp/enabled]. failed on [enabled]
    RTNETLINK answers: No such process
    post-upgrade.init: Checking if upgrade scripts need to be run
    Firewall Initialization
    sshd enabled
    SSH Port=22
    Starting OpenBSD Secure Shell server: sshd
    done.
    Starting ddns
    Ddns is disabled
    starting dns and dhcp services
    null path [result/ppp/enabled]. failed on [enabled]
    Cellular module is not found
    starting time setup...done.
    Starting smsd
    Starting WAN manager
    Starting crond: OK
    Starting Carrier Detect and Signal Strength LEDs
    Starting RM client
    Starting Call-Home Service
    customapp.init: Starting custom apps through app-manager...
    setting /sys/class/leds/led-status/trigger to heartbeat
    starting node-red
    Call-Home Not Needed
    {
       "code" : 400,
       "error" : "Failed to read annexcd pid file",
       "status" : "fail"
    }
    starting Node-RED stunnel services
    Found lora card MTAC-LORA-915
    No internet connection, waiting...
    No internet connection, waiting...
    No internet connection, waiting...
    No internet connection, waiting...
    
    #19458
    Tim Van de Locht
    Participant

    Dear,

    We have now a few iSMS modems for some projects in use. But it isn’t available anymore. The only thing we need is SMS receiving to HTTP server request (Non-Polling please). The supplier suggest a rCell 100 serie. But i found no information on the forum if non-polling is possible on this device (like in iSMS). On the internet i found only information about receiving SMS with REST API.

    We like to send a http request when a SMS is received on the device to a configured web server. (NON-Polling)

    #18836
    Jeff Hatch
    Keymaster

    Ajay,

    1) With the new firmware, the custom app can be run from within the Conduit flash as opposed to setting up the custom app on the external mcard correct?

    Yes, that is correct, you will not need an SD card on AEP-1.4.1

    2) Is it possible to order when the custom app runs when the conduit boots up, for example, can it be run before the node-red application reboots or can it be parallelized to start with the lora wan server and/or mqtt broker?

    The custom app will be started just before the Node-RED app. Are you looking to restart the custom application in tandem with the Node-RED application? The LoRa network server starts before the custom application, but after mosquitto. The following is the contents of rc5.d:

    admin@mtcdt:/etc/rc5.d# ls
    S01networking                    S78ddns
    S02dbus-1                        S80dnsmasq
    S15mountnfs.sh                   S80lora-network-server
    S20hostapd                       S81ppp
    S20hwclock.sh                    S81time
    S20ntpd                          S85ser-cli
    S20syslog                        S85smsd
    S30api                           S85wan-manager
    S31local-time                    S90crond
    S50usb-gadget                    S92led-cd-ss
    S60lighttpd                      S95annex-client
    S61syslog-configure              S95auto-reboot
    S65remove-rs9113                 S95call_home
    S70mosquitto                     S95customapp
    S71backoff-timers                S95gps
    S71database-init                 S95led-status_heartbeat_trigger
    S71wireless-conf                 S95node-red
    S72lanup                         S95remove_upgrade_occurred
    S72post-upgrade                  S95reset-handler
    S73bluetooth                     S95stunnel
    S73wifi                          S95watchdogd
    S75firewall                      S99rmnologin.sh
    S75routing_table_setup           S99stop-bootlogd
    S76sshd
    

    3) If by any chance the Custom application exits because of an exception, what is the best way to restart it. Basically detect that it has exited and automatically restart it?

    There are several ways to accomplish restart on a failure/fault/crash. One of the simplest it to write a script that is started by the applications Start script that does something like the following:

    MYAPP="app_executable -arg1 -arg2 ..."
    until $MYAPP; do
        echo "myapp exited with status $? -restarting..." >&2
        sleep 1
    done

    This will run the app executable, and when it exits will restart it. The only problem here is shutting down the app. For that you would need a signal handler to stop the executable app.

    4) This is a nodejs based custom app, can the console.log statements being executed within the custom app be re-directed to a log file under /var/logs/app//.log?

    You can do the same as what is done with Node-RED on the Conduit – pipe the output of the process to a file:

    myapp -arg1 -arg1 >& /var/log/app//.log

    Hope that helps,

    Jeff

    #18083
    Ajay K
    Participant

    Thanks Jeff for the information regarding the SMS node. I am making a http rest api call using the HttpRequest node from the node-red flow and then based on the resulting json returned, i figure out if the PPP link is up or not.

    Thanks,
    Ajay.

    #18082
    Jeff Hatch
    Keymaster

    As far as the SMS node, I don’t think that will cause memory/CPU issues, but it does use http to our API that in turn is using utility programs to get SMS data from the radio. Again, I don’t think that will cause problems, but what might is using any node code, Node-RED included, that does HTTPS. for some reason that seems to be a real resource hog. The original person who wrote the SMS node was using HTTPS to localhost for the API calls and that was causing resource issues when there was a lot of SMS going on.

    For the PPP monitoring, are you making the API calls remotely or are you doing them locally on the Conduit?

    Jeff

    #18076
    Ajay K
    Participant

    Thanks Jeff, for the suggestions. Last night I did run the top command and it seems like the node-red fluctuates between 35-56% CPU and this morning too it was around the same. Also I am not using the SMS node. I am guessing that node can cause issues? We are planning to use the SMS node only in critical errors that needs someones attention to handle any issues wrt to the conduit/gateway, but so far we haven’t used it.

    Also is there a better way to determine if the cellular connection is up and running, instead of using the PPP rest api? Sometimes I have noticed that the PPP api will return that the PPP link is up, but all my http calls would fail.

    Thanks,
    Ajay.

    #18034
    Jeff Hatch
    Keymaster

    Ajay,

    A couple of things that might be going on is if you are using HTTPS in the Node-RED traffic, and a lot of LoRa is going on, there is a possibility the CPU is getting maxed out. One way to see if this is the case would be to be connected in via SSH before the “busy” period starts and run the “top” command. Watching the output of top during the period while you can’t log in should tell you the state of the CPU consumption and the memory. It is quite possible things are thrashing.

    I don’t think that the PPP REST requests to the API are the cause. The only thing that might be disruptive that I can think of is that is running radio commands that could cause a blip in the processing of anything else. Are you by chance using the SMS node in Node-RED?

    Jeff

    #15995

    In reply to: Error in iSMS

    Bryon Davis
    Moderator

    Hi Alejandro,
    There are some examples available on our FTP site at https://webfiles.multitech.com/engineering/sample-code/sms-finder/ which may be some help. Your code looks close to my example (see below), so it isn’t obvious why it’s failing.

    Make sure that “HTTP API Status” is enabled in the “SMS API” menu and that the port is set to the correct value.

    Try the example code at https://webfiles.multitech.com/engineering/sample-code/sms-finder/c-sharp/iSMSHTTPQuerymsg/iSMSHTTPQuerymsg.zip and see if that works for you. I tested it this morning and it worked using Visual Studio Express 2015.

    String sendmsg = “http://192.168.2.1:81/querymsg?user=admin&passwd=admin&apimsgid=0&#8221;;

    // Next section sends the sendmsg request to iSMS and gets the response.
    try
    {
    // prepare the web page we will be asking for
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sendmsg);

    // execute the request
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    // Create a new stream to read from a response
    StreamReader sr = new StreamReader(response.GetResponseStream());
    // Read contents of response into a string
    String responseMsg = sr.ReadToEnd();
    // Close StreamReader
    sr.Close();
    }
    catch (System.Exception e)
    {
    // Exception sending HTTP request, or getting response.
    Console.WriteLine(“Error sending request to iSMS:”);
    Console.WriteLine(e.ToString());
    }

    #15942

    Topic: Error in iSMS

    in forum General
    Alejandro Munoz
    Participant

    Hello,

    Im working in a windows service using VS2012, but there is an error when I send the request (im sending this “http://192.168.2.1:5000/querymsg?user=admin&passwd=admin&apimsgid=0&#8221;). This is my code:

    HttpWebRequest oHttpRequest = (HttpWebRequest)WebRequest.Create(strUrl);
    HttpWebResponse oHttpResponse = (HttpWebResponse)oHttpRequest.GetResponse();

    The second line throw this exception:

    “The server committed a protocol violation. Section=ResponseStatusLine”

    #15105
    David Tighe
    Participant

    If you want or need to delete a sent message from the outbox, you can do so by referring to the guid of the message in question

    
    {
     
    https://cell_modem_ip/api/sms/outbox/guid?token=access_token&method=DELETE
     
    }
    

    The response will show a success status with a 200 code

    #12827

    In reply to: iSMS future?

    Jeff Hatch
    Keymaster

    Paul,

    At this time I do not believe that we have anything else with an API with the same SMS capabilities.

    Sorry,

    Jeff

    #12815

    In reply to: iSMS future?

    Paul Smith
    Participant

    Thank you so much Jeff. Is this API feature also available on the smaller MTC series? I think the MTR’s are probably overkill for what we were wanting to do.

Viewing 30 results - 1 through 30 (of 249 total)