Get rid of "Waiting x ms for caller ID information before answering" - modem

I have a program that works thru tapi to access a phone line.
The program is set up to answer a call right after the caller id becomes available.
However, the modem seems to what to take a pause after the command to answer the line is sent to the modem, wanting to wait for the Caller ID to arrive, although it has already come in.
Here is an example from a windows modem log, in bold is where he modem says "Waiting x ms for caller ID information before answering."
Is there way to prevent this waiting? a registry entry, modem command etc?
Modem being used is a hiro 50113.
I have googled for this, there a limited hits. One programmer has a product that has resolved this but doesn't explain how, as I am a competitor I doubt he will share :-). Also a client sent me a log using that other program, but it didn't shed any additional light.
Thanks, Rob
10-12-2014 15:00:03.548 - Recv: RING
10-12-2014 15:00:03.548 - Interpreted response: Ring
10-12-2014 15:00:03.642 - Recv: DATE=
10-12-2014 15:00:03.642 - Interpreted response: DATE
10-12-2014 15:00:03.642 - Recv: 1012
10-12-2014 15:00:03.642 - Recv: TIME=
10-12-2014 15:00:03.642 - Interpreted response: TIME
10-12-2014 15:00:03.642 - Recv: 1459
10-12-2014 15:00:03.642 - Recv: NAME=
10-12-2014 15:00:03.642 - Interpreted response: NAME
10-12-2014 15:00:03.642 - Recv: O
10-12-2014 15:00:03.642 - Recv: NMBR=
10-12-2014 15:00:03.642 - Interpreted response: NMBR
10-12-2014 15:00:03.642 - Recv: 15551234567
10-12-2014 15:00:04.266 - Answering the call.
10-12-2014 15:00:04.266 - 38400,8,N,1, ctsfl=1, rtsctl=2
10-12-2014 15:00:04.266 - Waiting 2283 ms for caller ID information before answering.
10-12-2014 15:00:06.559 - Continuing with answering the call.
10-12-2014 15:00:06.575 - Send: at+fclass=8
10-12-2014 15:00:06.575 - Recv: OK

Related

Automating certificate management to A10 load balancer using Digicert CertCentral automation sensor

Looking to see if anyone else has experience with DigiCert's automation software to help me out with a problem. Simply put, the automation sensor fails on the POST to AXAPI when attempting to update the client-ssl template. The client-ssl template is the resource that contains the instructions for handling HTTPS for a tcp/443 VIP port, which includes the references to the cert, key and chain cert (among many other things).
Digicert's own documentation is lacking aside from simply setting up the connection to the load balancer from the sensor, and I've been working with an escalation engineer for a multiple weeks now, who confessed to me that his responses are delayed because he doesn't have an A10 for replicating the problem and relies on coordination of this issue with his India-based dev team (who does have an A10. The engineer working on this and myself are located in USA, thus the delay in back and forth communications.
This seems like a simple straightforward process here, and our A10 configurations are not terribly complex.
So here is what I'm seeing from the sensor logs (minus some redactions):
`ID: 445
Address: https://10.xx.xx.xx:443/axapi/v3/slb/template/client-ssl
Http-Method: POST
Content-Type: application/json
Headers: {Authorization=[A10 6144xxxxxxx8207], Accept=[application/json], Cache-Control=[no-cache], Content-Type=[application/json]}
Payload: {"client-ssl":{"session-cache-timeout":0,"server-name-list":[],"cert":"mycert.crt","sni-bypass-enable-log":0,"enable-tls-alert-logging":0,"certificate-list":[{"cert":"test.mycert","key":"test.mycert","chain-cert":"DigiCert_SHA2_High_Assurance_Server_CA_intermediate","shared":0,"uuid":"f200f5f2-9374-11ed-9145-d99b8f82c36b","a10-url":"/axapi/v3/slb/template/client-ssl/test-mycert/certificate/test.mycert"}],"authorization":0,"local-logging":0,"disable-sslv3":1,"sni-bypass-missing-cert":0,"key":"test.mykey","session-ticket-lifetime":0,"chain-cert":"ica-test.mychaincert.crt","shared-partition-cipher-template":0,"sni-bypass-expired-cert":0,"close-notify":0,"session-ticket-disable":0,"early-data":0,"ocsp-stapling":0,"client-certificate":"Ignore","server-name-auto-map":0,"session-cache-size":0,"version":34,"renegotiation-disable":0,"name":"test.mycert","handshake-logging-enable":0,"ssl-false-start-disable":0,"direct-client-server-auth":0,"dgversion":31}}
2023-01-13 14:10:01,936 DEBUG transport.http.Headers - Accept: application/json
2023-01-13 14:10:01,936 DEBUG transport.http.Headers - Authorization: A10 6144000000150c8bc682cf4c32bd8207
2023-01-13 14:10:01,936 DEBUG transport.http.Headers - Cache-Control: no-cache
2023-01-13 14:10:01,936 DEBUG transport.http.Headers - Content-Type: application/json
2023-01-13 14:10:01,936 DEBUG transport.http.HTTPConduit - No Trust Decider for Conduit '{https://10.xx.xx.xx:443/axapi/v3/slb/template/client-ssl}WebClient.http-conduit'. An afirmative Trust Decision is assumed.
2023-01-13 14:10:01,982 DEBUG transport.http.HTTPConduit - Sending POST Message with Headers to https://10.xx.xx.xx:443/axapi/v3/slb/template/client-ssl Conduit :{https://10.xx.xx.xx:443/axapi/v3/slb/template/client-ssl}WebClient.http-conduit
2023-01-13 14:10:02,390 DEBUG cxf.phase.PhaseInterceptorChain - Adding interceptor org.apache.cxf.ws.policy.PolicyInInterceptor#480fe6df to phase receive
2023-01-13 14:10:02,390 DEBUG cxf.phase.PhaseInterceptorChain - Adding interceptor com.digicert.trustgateway.agentless.a10.service.rest.cxf.CustomLogInInterceptor#214027f8 to phase receive
2023-01-13 14:10:02,390 DEBUG cxf.phase.PhaseInterceptorChain - Adding interceptor org.apache.cxf.jaxrs.client.spec.ClientResponseFilterInterceptor#214cbf7e to phase pre-protocol-frontend
2023-01-13 14:10:02,390 DEBUG cxf.phase.PhaseInterceptorChain - Chain org.apache.cxf.phase.PhaseInterceptorChain#2f37e187 was created. Current flow:
receive [PolicyInInterceptor, CustomLogInInterceptor]
pre-protocol-frontend [ClientResponseFilterInterceptor]
2023-01-13 14:10:02,390 DEBUG cxf.phase.PhaseInterceptorChain - Invoking handleMessage on interceptor org.apache.cxf.ws.policy.PolicyInInterceptor#480fe6df
2023-01-13 14:10:02,390 DEBUG cxf.phase.PhaseInterceptorChain - Invoking handleMessage on interceptor com.digicert.trustgateway.agentless.a10.service.rest.cxf.CustomLogInInterceptor#214027f8
2023-01-13 14:10:02,390 INFO cxf.interceptor.LoggingInInterceptor - Inbound Message
ID: 445
Response-Code: 400
Encoding: ISO-8859-1
Content-Type: application/json
Headers: {Cache-Control=[max-age=0, no-cache, no-store, must-revalidate], connection=[close], Content-Length=[199], content-type=[application/json], Date=[Fri, 13 Jan 2023 19:10:01 GMT], Referrer-Policy=[no-referrer-when-downgrade], Server=[Apache], Strict-Transport-Security=[max-age=31536000; includeSubDomains], X-Content-Type-Options=[nosniff], X-Frame-Options=[SAMEORIGIN], X-XSS-Protection=[1; mode=block]}
Payload: {
"response": {
"status": "fail",
"err": {
"code": 67108919,
"from": "BACKEND",
"msg": "Cannot use this command while corresponding deprecated commands in use"
}
}
}
`

Error using http post request with void output in Karate Framework

I try to run a post request that does not have an output body. The output is void. I get the 200 answer but then it fails. I have already spoken to my colleagues at the company and they have indicated that it is not possible to execute these types of requests in karate. Is it a bug on the part of karate's developers? Here's the error:
[ForkJoinPool-1-worker-1] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection [id: 3][route: {s}->REMOVED:443] can be kept alive indefinitely
[ForkJoinPool-1-worker-1] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-3: set socket timeout to 0
[ForkJoinPool-1-worker-1] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection released: [id: 3][route: {s}->REMOVED:443][total available: 1; route allocated: 1 of 5; total allocated: 1 of 10]
[ForkJoinPool-1-worker-1] ERROR com.intuit.karate - java.lang.RuntimeException: java.io.EOFException, http call failed after 1601 milliseconds for URL:REMOVED
[ForkJoinPool-1-worker-1] ERROR com.intuit.karate - http request failed:
java.lang.RuntimeException: java.io.EOFException
There's a new version just released: https://github.com/intuit/karate/releases/tag/v1.0.0 - so try that first.
Do update here if that works. That said - the log you provided does not help at all. The best thing you can do is follow this process, so that the developers get a decent chance to understand what you mean by "does not have an output body" and "void": https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

SSLHandshakeException for a simple GET request in Karate Framework

I am trying to setup Karate framework for my project. I am getting the following SSLHandshakeException for a simple GET request. I get a proper response when I try the endpoint in the browser, but when I try to run the cucumber feature file I am seeing the following error. I tried configure ssl = true, configure ssl = 'TLSv1.1', but seeing same error
10:35:28.886 [main] DEBUG
org.apache.http.conn.ssl.LenientSslConnectionSocketFactory - Starting handshake
10:35:29.003 [main] DEBUG
org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-0: Shutdown connection
10:35:29.003 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection discarded
10:35:29.003 [main] DEBUG
org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection released: [id: 0][route: {s}-https://hygieia*******.com:443][total kept alive: 0; route allocated: 0 of 5; total allocated: 0 of 10]
10:35:29.004 [main] ERROR com.intuit.karate -
javax.net.ssl.SSLHandshakeException: Received fatal alert:
handshake_failure, http call failed after 446 milliseconds for URL:
https://hygieia******.com/api/dashboard/count
I followed the instructions for jdk8 in javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
I downloaded the mentioned jars (US_export_policy.jar, local_policy.jar) and copied them to {JAVA_HOME}/jre/lib/security and then magic happens 👍
#Peter Thomas Thank you for your help in resolving this issue :)
You are using version 0.6.1 right, I really thought this was fixed. Would be great if you can help me figure what change to make. Here is the ticket that will give you all the info, including code changes: https://github.com/intuit/karate/issues/193
This should work: if you are using karate-apache switch to karate-jersey (or vice-versa) in your pom.xml - most likely it will work.
Worst case, you can set System properties so that the HTTP client will use a certificate you provide, this ticket can give you some hints: https://github.com/intuit/karate/issues/76

HiveServer2: Thrift SASL related exception when using custom PasswdAuthenticationProvider

I've created a custom implementation of the PasswdAuthenticationProvider interface, based on OAuth2. I think the code is irrelevant for the problem I'm experiencing, nevertheless, it can be found here.
I've configured hive-site.xml with the following properties:
<property>
<name>hive.server2.authentication</name>
<value>CUSTOM</value>
</property>
<property>
<name>hive.server2.custom.authentication.class</name>
<value>com.telefonica.iot.cosmos.hive.authprovider.OAuth2AuthenticationProviderImpl</value>
</property>
Then I've restarted the Hive service and I've connected a JDBC based remote client with success. This is an example of a successful run found in /var/log/hive/hiveserver2.log:
2016-02-01 11:52:44,515 INFO [pool-5-thread-5]: authprovider.HttpClientFactory (HttpClientFactory.java:<init>(66)) - Setting max total connections (500)
2016-02-01 11:52:44,515 INFO [pool-5-thread-5]: authprovider.HttpClientFactory (HttpClientFactory.java:<init>(67)) - Setting default max connections per route (100)
2016-02-01 11:52:44,799 INFO [pool-5-thread-5]: authprovider.HttpClientFactory (OAuth2AuthenticationProviderImpl.java:Authenticate(65)) - Doing request: GET https://account.lab.fiware.org/user?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HTTP/1.1
2016-02-01 11:52:44,800 INFO [pool-5-thread-5]: authprovider.HttpClientFactory (OAuth2AuthenticationProviderImpl.java:Authenticate(76)) - Response received: {"organizations": [], "displayName": "frb", "roles": [{"name": "provider", "id": "106"}], "app_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "email": "frb#tid.es", "id": "frb"}
2016-02-01 11:52:44,801 INFO [pool-5-thread-5]: authprovider.HttpClientFactory (OAuth2AuthenticationProviderImpl.java:Authenticate(104)) - User frb authenticated
2016-02-01 11:52:44,868 INFO [pool-5-thread-5]: thrift.ThriftCLIService (ThriftCLIService.java:OpenSession(188)) - Client protocol version: HIVE_CLI_SERVICE_PROTOCOL_V6
2016-02-01 11:52:44,871 INFO [pool-5-thread-5]: session.SessionState (SessionState.java:start(358)) - No Tez session required at this point. hive.execution.engine=mr.
2016-02-01 11:52:44,873 INFO [pool-5-thread-5]: session.SessionState (SessionState.java:start(358)) - No Tez session required at this point. hive.execution.engine=mr.
The problem is after that the following error appears in a recurrent manner:
2016-02-01 11:52:48,227 ERROR [pool-5-thread-4]: server.TThreadPoolServer (TThreadPoolServer.java:run(215)) - Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:189)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:182)
at org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:253)
at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
... 4 more
2016-02-01 11:53:18,323 ERROR [pool-5-thread-5]: server.TThreadPoolServer (TThreadPoolServer.java:run(215)) - Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:189)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:182)
at org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:253)
at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
... 4 more
Why? I've seen in several other questions this occurs when using the default value of hive.server2.authentication, i.e. SASL, and the client is not doing the handshake. But in my case, the value of such a property is CUSTOM. I cannot understand it, and any help would be really appreciated.
EDIT 1
I've found there are periodical requests to the HiveServer2... from the HiveServer2 itself! These are the requests that are resulting in Thrift SASL errors:
$ sudo tcpdump -i lo port 10000
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes
...
...
10:18:48.183469 IP dev-fiwr-bignode-11.hi.inet.ndmp > dev-fiwr-bignode-11.hi.inet.55758: Flags [.], ack 7, win 512, options [nop,nop,TS val 1034162147 ecr 1034162107], length 0
^C
21 packets captured
42 packets received by filter
0 packets dropped by kernel
[fiware-portal#dev-fiwr-bignode-11 ~]$ sudo netstat -nap | grep 55758
tcp 0 0 10.95.76.91:10000 10.95.76.91:55758 CLOSE_WAIT 7190/java
tcp 0 0 10.95.76.91:55758 10.95.76.91:10000 FIN_WAIT2 -
[fiware-portal#dev-fiwr-bignode-11 ~]$ ps -ef | grep 7190
hive 7190 1 1 10:10 ? 00:00:10 /usr/java/jdk1.7.0_71//bin/java -Xmx1024m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/var/log/hadoop/hive -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/usr/lib/hadoop -Dhadoop.id.str=hive -Dhadoop.root.logger=INFO,console -Djava.library.path=:/usr/lib/hadoop/lib/native/Linux-amd64-64:/usr/lib/hadoop/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Xmx1024m -Xmx4096m -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /usr/lib/hive/lib/hive-service-0.13.0.2.1.7.0-784.jar org.apache.hive.service.server.HiveServer2 -hiveconf hive.metastore.uris=" " -hiveconf hive.log.file=hiveserver2.log -hiveconf hive.log.dir=/var/log/hive
1011 14158 12305 0 10:19 pts/1 00:00:00 grep 7190
Any idea?
EDIT 2
More research about the connections sent from HiveServer2 to HiveServer2. Data packets always sent 5 bytes, the following ones (hexadecimal): 22 41 30 30 31
Any idea about these connections?
I finally "fixed" this. Since the message was sent by the Ambari agent running in the HiveServer2 machine (some king of weird ping), I simply added an iptables rule blocking all the connections to TCP/10000 port on the loopback interface:
iptables -A INPUT -i lo -p tcp --dport 10000 -j DROP
Of course, now Ambari warns the HiveServer2 is not alive (the pings are droped). And the above rule must be removed if I want to restart the server from Ambari (there is another alive check in the starting script); then after the restart I can enable the rule again. Well, I can live with that.

Calling COM Library From XBAP

I am trying to call an old COM library from my XBAP and continue to receive the following exception:
System.AccessViolationException was unhandled
Message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
I have tried adding the HKLM value for RunUnrestricted to no avail.
I don't get anything else but this error when calling the library. Any ideas? (This library even works from a pure ASP.NET app)
EDIT:
The COM library makes socket calls to a server. It looks like that is happenning but somewhere after the last packet, it bombs with this error.
No. Time Source Destination Protocol Info
10 8.452945 10.10.10.210 10.10.10.250 TCP 50736 > 22700 [SYN] Seq=0 Win=8192 Len=0 MSS=1260 WS=8
14 11.459350 10.10.10.210 10.10.10.250 TCP 50736 > 22700 [SYN] Seq=0 Win=8192 Len=0 MSS=1260 WS=8
21 17.459690 10.10.10.210 10.10.10.250 TCP 50736 > 22700 [SYN] Seq=0 Win=8192 Len=0 MSS=1260
try trusting the site. e.g. trusted sites for IE.
I wish there was a way to cancel a question cause this one is my fault. I was tunneled through a VPN and just had a bad connection no matter how many times I reconnected. After a restart, I was then able to interact with the API.