Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

10 Good

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Mark-

    SMS via my phone..

    Yeah we did lots of testing and used the "read all" because we have total control of the device, it is only used for our SMS access, but could have used other commands to read the messages. All our messages are text only and the connection is serial, the data flow rate is not so high as to be an issue.
  2. Mark-

    SMS via my phone..

    We only found one phone, Nokia C2-01 was the test phone, that did not support reading messages. It might apply to all Nokia phones. We have not had any customers with phones/modems unable to be used. Set the message area AT+CPMS Read all the messages AT+CMGL="ALL" Delete all messages AT+CMGD=0,4'
  3. Mark-

    SMS via my phone..

    Yes one of our apps sends/receives SMS. Sometimes, when the phone USB port is plugged into the computer the phone installs a driver for the USB port and it appears as a MODEM. Other times, e.g. some Samsung phones, you install the driver from Samsung. And other times a cell modem is used. After the phone/modem is plugged in you can see if it appears as a modem in the device manager. Now that you have a modem you use AT commands to send/receive messages. Not all phones/modems implement SMS send/receive the same. I have never seen a "standard". You can find data on the AT commands on the web.
  4. Mark-


    Thanks François
  5. Hello, THttpCli version 8.62 Update: Thinking about it "blocking" is what the code says and what it does. I switched to CloseAsync and that seems to solve the issue. More testing will prove. Is there a better idea? I have a THttpCli component on a TDataModule connected to a camera. When the user closes the main form, I call: HttpCli1.Abort; HttpCli1.Close; Abort returns and Close is called. Close never returns because: if MsgWaitForMultipleObjects(0, Pointer(nil)^, FALSE, 1000, QS_ALLINPUT) = WAIT_OBJECT_0 then MessagePump; is called, and MessagePump calls: Application.ProcessMessages; Ideas? Thanks, Mark
  6. Thanks for the help Angus. To close this issue. The issue was the time difference between the camera and the PC. The camera rejects the message if the time difference is greater than about 5 seconds. Solution is to read the time in the camera and adjust the transmitted time stamp. Reading the camera time does not require authentication. If the message sent to the camera contains a certain namespace reference, the camera will switch to attempt a digest authentication after the first failed, ONVIF authentication. While ICS handled the "digest" authentication, flawlessly, the double process was not workable for the design goals. Cheers, Mark
  7. Interesting, thanks. More dissection planned.
  8. Thanks for the response. > The component is auto selecting httpAuthDigest Yeah and when I select Digest, same 401 result. > Not sure if the same Authorization: header can be used more than once for subsequent requests, never used Digest myself.  Ditto, > You'll need to check Wireshark on the other application to find out where it finds realm, etc, or if it uses a different authentication mechanism. Yeah, my searching found nothing. I suspect I need to check again.
  9. Hello, > use the THttpRest component The TSslHTTPRest? Altering the URL to remove the username and password made no difference. I added an ICS logger and selected each of the ServerAuth options and all produced the same result. Other than causing a complete failure no change has altered the cycle. Attached is the log file. Cheers, Mark logFileICS.txt
  10. Hello, Thanks for the response. I had all kinds of logging enabled and I could not see the issue. Wireshark is a good tool for seeing outside the program. > setting ServerAuth to httpAuthBasic I get a 401 error. I guess I will return to logging. Mark
  11. Hello, Delphi 10.2.3, ICS 8.62 I am reading the settings from an Axis video camera. The payload is XML. Example URI: root:admin@ The issue, I form up the message, use PostAsync, the data comes back and all is good. I view the process via Wireshark, I see the “Post” and the reply is “HTTP 1.1 401 Unauthorized” and the reply includes: [truncated]Authorization: Digest username="root",realm="AXIS_WS_ACCC8EE4F05C",nonce="sgpPo3OzBQA=f77c1448ee4c9dfe2a268b430a4f4ee824f78950",uri="/onvif/device_service",response="909198f352f89203fe5701378e615379",qop=auth,nc=00000001,cnonc Different values each time, same fields. THttpCli sends the post again, including the above information, and the camera returns the data. I have tried many things. Changing the “serverAuth”, no difference. Another program, I view the stream and it does not have the same cycle. I must be missing something. Ideas? Thanks, Mark
  12. Mark-

    RS232 component

    TMS Async works for me. https://www.tmssoftware.com/site/tmsasync.asp
  13. Mark-

    Using the New Edge browser control

    I added this comment. I added a default folder property to the class. Removed: var hr := CreateCoreWebView2Environment( Callback<HResult, ICoreWebView2Environment>.CreateAs<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>( CreateEnvironmentCompleted)); Added: hr:=CreateCoreWebView2EnvironmentWithOptions('',PWideChar(FDefaultFolder),nil, Callback<HResult,ICoreWebView2Environment>. CreateAs<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>(CreateEnvironmentCompleted));
  14. Hello, Yes, I send SMS messages in one of my applications. A cell phone or modem that supports the AT command set is what I used. There is not an SMS protocol specification. If only sending messages most providers use the same commands. Receiving messages, clearing storage, etc., not all providers support those actions. We tested with Nokia and Samsung phones. I know customers are using other MODEM brands with success. Good luck, Mark