When pushing to all my devices (18k) via enhanced push notification, I have to run the feedback-service and remove the invalid tokens to prevent apple disconnecting my stream. When testing, I noticed that although the first token was invalid (told by the feedback-service), the message was nonetheless delivered to the other testing devices. Before using the enhanced push format, the connection stopped and did not deliver to anybody after the invalid token. Does the enhanced push format prevent from getting disconnected? Or does apple only need some time before recognizing an invalid token and just stop a few tokens after that invalid one?
Any help would be much appreciated!
Thanks
Apple stops processing messages when you send a wrong device id, also when using the enhanced format. At least that is what I noticed after sending a device id from a debug version of my app. I did get back the 6-bytes message indicating the error, but no data for further messages could be sent though the SSL socket after that.
From the documentation I also thought Apple would continue processing if you use the Enhanced Format, but that is not so.
Related
I have a simple PHP script (using Botman) called by my Telegram bot via a webhook. It's supposed to respond on receiving a keyword. This works, sending response messages to my phone.
Randomly however it repeats the messages, without any input. Though random, its so frequent I would estimate it does this at least 10 times per minute.
Thinking this could be due to some web bots calling my URL, I modified the script to check the presence (and value of) and query parameter and all random messages stopped. The web bots wouldn't know this secret parameter, right?
As expected, once I updated the PHP script (without updating Telegram with the modified webhook), the messages stopped. So far so good.
Next, updated the Telegram with the webhook containing the secret query parameter, then waited 5 minutes. No messages: still looking good.
Alas, once I send my keyword, it gives the expected response but then keeps repeating endlessly again.
Where do I look to fix this?
Ps. To test, the script also returns general info of the user. I can see it keeps returning my info in the repeated message, as if I made each request. Could this be a bug with Telegram?
According to your description, it seems that your webhook architecture it still looking for the most recent updates returned by Telegram getUpdates method: if your script repeats answering to the same exact message, it means that it's receiving the same exact update object more than one time.
A good solution to solve this problem could be have a look at the webhook working of, how it communicates with Telegram servers in order to understand how does it handle updates received from the Telegram Chatbot itself.
I'm reading the docs for Alexa Skills and there seems to be a fallback intent
https://developer.amazon.com/docs/custom-skills/standard-built-in-intents.html#fallback
I've turned it on in my app (added to the list of intents), but when I enter an unknown command in the test area (either by voice or by typing) all I'm getting is an annoying error sound and no request is sent to my server. I was expecting to receive an Amazon.FallbackIntent request on my server.
UPDATE: more complete answer here: Why does the Fallback Intent not get called if you say ONE random word?
FallbackIntent is designed to catch out-of-domain requests when you're in your skill session. From what you describe it sounds that you're typing garbage in the simulator before opening your skill.
In order to test it, open your skill in the simulator ("alexa open xxxxx"), respond from the backend without closing the session and then try entering/saying garbage.
I am wondering if there is a good way of making automated system testing for a Chromecast receiver application?
If you open the application URL in a Chrome browser, the cast_receiver library cannot find the websocket connection on:
ws://localhost:8008/v2/ipc
Since this handles the communication between the app and the Chromecast hardware, I am thinking of something like a Node.js websocket server that can talk to the chromecast receiver app. Is there such a system, or do anyone know if there are plans of google releasing something for this kind of testing?
Also, would there be other problems related to the difference between the chromecast browser and chrome browser? As I understand, the chromecast browser is just a subset of chrome, which makes me think it should work.
No, there is no easy way to do this.
DISCLAIMER: I haven't tried any of what I'm about to suggest. It's also probably a terribly idea as Google could change the protocol any time and in any fashion they desire since it isn't a public thing.
BIG DISCLAIMER: You may be in violation of the ToS by doing this as Section 3.2 (Developer Policies) states that you "may not ... develop a standalone technology ... any functionality of any Google Cast Receiver". Possibly, you'd be making a standalone piece of technology that replicated the IPC functionality. But I don't know. I'm not a lawyer.
If you want to go and do this, I'd suggest making a copy of the Google Cast Receiver SDK (www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js as of April 28, 2015) and altering it so that it logs out the messages that are being sent and received.
Luckily, it appears that we have logging messages to help us find the relevant code.
The receiving method has the string "Received message". I would guess that "a.message" is what is being received.
The sending method has the string "IPC message sent". I would guess that "a" is what is being sent.
Once you've instrumented your copy of the code, you need to publish it somewhere that your receiver app can see it and then you need to edit your receiver app to point to your new and improved SDK. Please please please make sure that you do this on a non-published app for testing purposes only.
Once that is done, you need to find some way to get your messages out of the code and into something that you can access. You have a few options.
Fiddle around with the code more and figure out how to get the Chromecast to log out the data you want;
Store the information in an array and read it using the debugger;
Open your own socket (or websocket) and send that data to a server that you control.
From here, you can run your app, interact with it, and then have a complete record of the IPC messages that were sent and received. Armed with this, you can create your own Fake-IPC server that listens for specific messages and spits out the stuff that is in your log.
im working in a IVTR via Asterisk and gtalk chat (using the chat box in gmail ) , the configuration of gtalk account and jabber are working almost perfectly except when i want capture data from the chat.
Using JABBER_RECEIVE method i'm able to capture chat text but if nothing was received and the timeout is over, Asterisk crash.
i've no idea of what's going on , is there another way (method or agi) to capture gtalk chat in Asterisk without crashing?
i'm using Asterisk 1.8.3 in CentOS 6.2.
I'm not sure what you mean by "capture gtalk chat".
If you want to display - for debugging purposes only - the XMPP messages that are sent to/from GTalk, you can use "jabber set debug on". This will dump as DEBUG messages to the Asterisk logs/CLI all XMPP messages.
Crashes are a "bad thing". While res_jabber in Asterisk 1.8 is a community support module, you may still want to report any crashes to the public issue tracker. Since this is a crash, you'll be asked to provide a properly generated backtrace - instructions for doing so can be found on this wiki page here.
My asp.net (mvc2) web app webinar registration system sends emails with connection info. Currently we just loop thru the list of attendees and hit a System.Net.Mail.SendMail for each. We send mail via our GoogleApps account (non-premium).
My use case is to send < 50 emails at a time and the system's been working fine. On the occasions where the number pushes a 100 addresses I find error returns with the message:
Service not available, closing transmission channel. The server response was: 4.7.0 Try again later, closing connection. (MAIL) g31sm4823143ibh.4
Is this message specific to Google's servers (searched on the phrase - seems like 'no'). Is there a recognized 'best practice' for sending emails by code?
Could it be that gmail just notices that you're sending a lot of messages in a rapid rate indicating it to them you're a spammer (in their eyes)?
If you have hosting I suggest you talk with your provider and see what they can offer you or provide an email address with which you can send more messages, in a controlled way of course.
GMail definately has a sending limit.
I dont think its widely publicised, but it certainly sounds like you're hitting it.
Slightly old question for a followup, but to help others landing here, things have changed since then (and they constantly change):
A registered G Suite user can't relay more than 10,000 messages in a 24-hour period, and can't relay messages to more than 10,000 unique recipients per 24-hour period. Users exceeding either of these limits see the error "550 5.4.5 Daily SMTP relay limit exceeded for user."
https://support.google.com/a/answer/2956491#sendinglimitsforrelay