Anyone else having a problem with Twilio SMS messages are being flagged by the carrier? - twilio-api

Message filtered
Possible Causes
Your message was identified as spam or unwanted messaging by Twilio's message filtering system
Your message was flagged as objectionable and blocked by a wireless carrier
Also Twilio showing that SMS status is not green right now
https://status.twilio.com/
PROGRAMMABLE MESSAGING
SMS

Related

Ejabberd Message delivery while application is terminated

I am developing a chat app using ejabberd server for both IOS and Android. I also wrote a module for ejabberd to get the offline messages sent to my own server api .
my own server api will send notifications to the IOS/Android platforms using FCM.
On the client side , if the application is in the foreground or the background , it will stay connected to ejabberd and if the client receives the message then ejabberd will send the message delivery status.
I am facing an issue while the app is terminated ( service is not running ) which means it is not connected to ejabberd (offline) . if i send a message to this app while it is not terminated , it will receive a notification but the message still undelivered . how can mark the messages as delivered when receiving the notification while the app is terminated.
to explain it more , the same functionality is working fine with whatsapp :
device A has whatsapp installed and whatsapp was turned off (terminated)
Device B has whatsapp running
Device B sends a message to device A
Device A receives a whatsapp notification
Without doing anything on Device A , the message status on Device B is marked as delivered .
How can I implement this scenario with ejabberd ?
In case someone went into this issue , here is the solution that I implemented with help of #Mickaël Rémond from his answer.
I configured ejabberd to send the offline messages to an http service ( your own server) please refer to this link for further on how to do it
your server should catch the above call and generate a notification message (FCM ) in my case and send it to recipient device
recipient device will catch the notification which includes the message
recipient device will call http service (your own server backend)that responsible for sending the deliver ack to the original sender . you need to pass from, to , stanzaId , vhost with this call
backend server will use ejabberd-api (set of exposed apis to manage ejabberd through rest apis calls) to send delivery message using this api
please note the following notes also :
sending the delivery message from your own server to ejabberd will not delete them from ejabberd database
if the user re-connected to the ejabberd server then the recipient will receive the message again from ejabberd .
It is probably too complex for a simple Stack Overflow question, as you need to integrate several moving part on client and server:
You need to execute code in background when receiving push notifications on iOS (you need that property set on your app in your app provisioning profile and have code to handle that). The client will initiate an HTTPS query to let the server know that the message was delivered.
You need to have an endpoint that will get the delivered HTTPS calls and generate either a message ack or a chat marker on behalf of the user and route it in ejabberd.
In real world, this is not enough if you want to take into account the fact that you can only have 1 push in the queue on APNS. If you have several messages sent while the device is not on the network, you will need to have the device check all received messages while offline on the server, otherwise you will lose messaging.
You need to rely on XMPP Message Archive Management (MAM) to handle that history.
As you see, this is not a simple few tens of line of codes but need real design and involved work.

Auto send message and mails?

Ok I know there are many possible duplicate questions but none answers my question.
According to Apple's App Store Review Guidelines (if it is the official one) I can only find 4 rules stating anything about messaging
5.5 Apps that use Push Notifications to send unsolicited messages, or for the purpose of phishing or spamming will be rejected
6.5 Apps that use Game Center service to send unsolicited messages, or for the purpose of phishing or spamming will be rejected
21.2 The collection of donations must be done via a web site in Safari or an SMS
22.6 Apps that enable anonymous or prank phone calls or SMS/MMS messaging will be rejected
According to me these rules does not restrict auto sending a message completely, if we have user's concern of sending the SMS.
Now I want to know is there's anyway that I can auto send SMS on a scheduled time when the app is suspended, like we can fire UILocalNotification?
If Yes then how and if No then why?
I also don't want to use any third party API or some server side programming. I want to send a simple SMS from phone.
No you can not send an e-mail or SMS via the Apple provided SDK without the user sending the messages.
You could setup your own mail server of SMS server to provide a solution to this, but you will not be able to do it with the Apple provided SDK.
The reason why this is implement this way is to protect the user, since you could just send 100 SMS to some kind of server number and thus make the user unaware of the costs.
Or you app could start spamming user with email by sending email without the users consent.

Facebook chat API - XMPP typing paused notifications

I'm using the XMPP protocol in order to send and receive messages with the Facebook chat.
I'm able to receive messages, and as well get the typing notifications.
My problem is that I'm not receiving the 'typing paused' notification.
My app has successfully made the auth procedure and when the user is typing a message I'm receiving the 'composing' message but when he stops typing I'm not getting the 'paused' message that is documented in the XEP-0085 protocol.
Thanks
The answer is most likely that Facebook doesn't support <paused/>. Only support for <active/> and <composing/> is absolutely required by the XEP.
Your client should handle <paused/> appropriately, but also handle not receiving it just fine too.

How to "Auto SMS Sender" work - send sms in background

This application support send a scheduled sms in background mode! How to they do that?
What do you think about this their info:
In order to send out the scheduled message:
This app must be running on your iPhone, either in the background or in the foreground;
Your iPhone must not be in the airplane mode;
Your iPhone must have carrier's signal at the scheduled time;
NOTES:
If you schedule a message with a large number of recipients, please check with your carrier for the maximum number of recipients allowed per message. If you exceed the maximum number allowed, your message may be blocked by your carrier.
Your iPhone must be powered on at the scheduled time so that the message can be sent out;
If you reboot your iPhone, or turn it off/on, remember to restart this app as soon as possible so that the timer can still be active.
Some results from testing...confirms this app is sending normal SMS WITHOUT user interaction!
WLAN ON + GSM OFF (no reception) => the app does NOT send SMS, even after reception is back no SMS gets send. In the phone's messages log it tells "failed sending SMS"
WLAN OFF + GSM ON => the app sends SMS without user interaction (I checked my bill, and in fact a SMS got sent through the provider! - no data traffic to a server!)
Also, by the way when the SMS is received the sender's SMS number is displayed correctly. I know one could do this through a SMS server - but in fact a REAL SMS got sent through the provider! There was no data traffic, no other cost than my providers SMS charge, and on the past activities it explicitly showed this SMS!
So somehow this app sends a real SMS without user confirmation.
Probably there is a way to use the direct SMS library without Apple's review team finding out? Anyway I know for sure, that Apple rejects apps that use this library (if they find out!)
Your best bet is to setup an intermediate server on the internet that uses an online SMS sending service, and send the SMSs via that route if you need complete automation. (ie, your program on the iPhone sends a UDP packet to your server, which sends the real SMS)

While implementing xmpp chat in ios app, it did not recieve message from other end while message sent succesfully?

I have implemented xmpp chat in ios app, connection get established, get authenticated, message successfully sent but it not recieving message from other end??
You must send a presence stanza, either without a priority subelement (which means priority 0), or with a priority element that is 0 or higher, in order to receive messages:
<presence>
<priority>10</priority>
</presence>