how do i send an sms message from my web application using asp.net with c#.
You cant send messages directly through asp.net.
What you can do is send a web request or an email to an online SMS provider,
or to a local gateway (like a phone) and it can then pass the message onto
the GSM network.
Try Clickatell to get an idea of what I mean.
http://www.clickatell.com/brochure/coverage.php
If you don't want to pay, most cell phone carriers have an email that you can send messages to that will then forward them to the proper recipient. E.G. (10 digit phone number)#txt.att.net.
Bu of course this means that you will have to know the carrier, and many of them will not send outside the U.S. so that might not be the most attractive option.
You find a gateway (I use Clickatell, but there are others) and integrate with them. It's generally quite trivial (but of course, you pay to send the messages). They often have SMTP, HTTP and other types of APIs.
Related
My team wants to build a chat app and so we are researching about all the available technologies available at our arsenal. I am concerned about XMPP. So i was reading the Oreilly's "XMPP: The definitive guide", and came across these lines and i quote
In XMPP, messages are delivered as fast as possible over the network. Let’s say that Alice sends a message from her new account on the wonderland.lit server to her sister on the realworld.lit server. Her client effectively “uploads” the message to wonderland.lit by pushing a message stanza over a client-to-server XML stream. The wonderland.lit server then stamps a from address on the stanza and checks the to ad- dress in order to see how the stanza needs to be handled (without performing any deep packet inspection or XML parsing, since that would eat into the delivery time). Seeing that the message stanza is bound for the realworld.lit server, the wonderland.lit server then immediately routes the message to realworld.lit over a server-to-server XML stream (with no intermediate hops).Page 45
Like email, but unlike the Web, XMPP systems involve a great deal of inter-domain connections. However, when you send an XMPP message to one of your contacts at a different domain, your client connects to your “home” server, which then connects directly to your contact’s server without intermediate hops (see Figure 2-4).Page 13
Can anyone please make me understand how can there be no intermediate hops(unlike email).
E-Mail (SMTP) also has no intermediate hops. I assume you confuse the application OSI layer, where XMPP, SMTP and so on live, with the network layer (IP).
We have an already running MQTT setup for communication between smart home devices and remote server, for remotely controlling the devices. Now we want to integrate our devices with Google Home and Alexa. These two use HTTP for communication with third party device clouds.
I have implemented this for Google Home and after receiving the request to device cloud, the request is converted to MQTT. This MQTT request is then sent to smart home device. The device cloud waits for few seconds to receive reply from smart home device. If no reply is received within predefined time, it then sends failure HTTP response to Google Home else it sends the received reply.
Is there a better way to handle this? Since this is a commercial project I want to get this implemented in the correct way.
Any help will be appreciated.
Thanks
We're using AWS IoT and I think it's a good way to handle IoT issues, below are some features of it:
Certification, each device is a thing and attached its own policy, it's security
Shadow, it's device's current state JSON document, The Device Shadow service acts as an intermediary, allowing devices and
applications to retrieve and update a device's shadow
Serverless, we use lambda to build skill and servers, it's flexible
Rule, we use it to intercept MQTT messages so that we can report device's state changing to Google and Alexa. BTW, to Google, Report State implementation has become mandatory for all partners launch & certify.
You can choose either MQTT or HTTP
It’s time-consuming but totally worth it! We've sold 8k+ products, so far so good.
At least Google Home doesn't really require synchronous operation there. Once you get the EXECUTE-intent via their API, you just need to sent that to your device (but it doesn't necessarily has to report its state back).
Once its state changes, you either store it for further QUERY-intents or provide this data to the Google Homegraph server using the "Report State" interface.
I'm developing gBridge.io as a project providing quite similar functionality (but for another target group). There, it is strictly split as described: A HTTP endpoint listener reacts to commands from Google Home and sends it to a cache, where it is eventually sent to the matching MQTT topic. Another worker is listening to MQTT topics from the users and storing there information in the cache, so it can be sent back to Google once required.
I have to following scenario:
My app requests and receives data from an BLE peripheral (a glucometer). It it possible that the user has another app (from another developer) installed, that also communicates with the peripheral. I noticed that my app receives characteristic notifications for requests that where initiated by the other app. This causes my app to receive some data twice.
Is there any way to distinguish between responses to my request and responses that are caused by another app? Or how can I handle it?
While the stack obviously knows which app a certain (read, write) response belongs to (because there may only be one pending request, and it knows who sent the request), there is no logical or sound reason why it should dispatch a notification to a single app (among those who have enabled notifications).
Note that the GATT specification does not define "multiple gatt clients per link", there is only one client, so the peripheral doesn't even know there might be two apps talking to it. Hence when it sends a notification, it doesn't include a "target app" field.
The feature of multiplexing multiple apps to the same GATT connection is something iOS and Android teams etc. came up with.
I installed an Obi100 (VoIP device with RJ11 to connect normal phones) behind my router, which has UPNP disabled and no ports forwarded. Somehow, it still receives VoIP calls and I am confused how that works.
I was getting a bunch of spam phone calls that weren't even going through my voip provider, so I think they were able to send the calls directly to my Obi100. I fixed that with a special filter rule in the Obi100, but I don't even see how someone could contact the Obi100 from outside anyway.
I believe the Obi devices use Google TCP based APIs to send/receive calls instead of SIP which is what many would assume when they hear VoIP. You were probably receiving inbound calls to your google account once they see you are "online" when your obi device connects with google. The setting probably disables announcing your availability.
I am looking into an application that needs to check that emails are being sent and received. Using asp.net to send emails is easy and not a problem, but putting in the processes to enable code to wait for and verify incoming emails is not supported.
So the best solution we have come up with is to use a COM connection to a Lotus mail client ( which is what the client use ) and process it in that way. But it struck me that this is a bit of a hack together.
So is there a way of using an SMTP server and asp.net code to look at emails and verify them coming into a specific email address?
SMTP is used for sending e-mail.
You need to hook into a POP3, IMAP or Exchange server to monitor for received messages.
Can you explain some more about the process that you're trying to automate? Are you trying to detect invalid e-mail addresses? If so, you can monitor a mailbox associated with the sending user for 'bounce' messages.
You can access a pop email direct with code using a library such as:
http://sourceforge.net/projects/hpop/
We did this in conjuction with email blasts so we could monitor the mailbox for bounce backs.