Soracom Funnel
Overview
Soracom Funnel is an adapter service that transfers data from a device directly to a specified cloud service. Funnel allows you to offload encryption workloads to the cloud and integrate devices that have protocol limitations.
Much like Soracom Beam, data sent from a device to the Soracom platform is secured through closed carrier networks and dedicated private lines to Soracom, allowing you to utilize lightweight protocols between your device and Soracom. In turn, Funnel performs encryption on the cloud, and takes care of sending your data directly to a cloud service.
Compared to Beam
While Beam and Funnel both provide similar functionality in receiving data from your device and sending it to a specified endpoint, Beam is more general purpose and allows you to mix and match various incoming and outgoing protocols, as well as specify endpoints other than cloud services such as your application server. While Beam provides flexibility with extended protocol and endpoint support, it also requires additional configuration, even when using it with cloud services.
On the other hand, Funnel provides a greatly simplified configuration for applications that leverage cloud services. Funnel takes care of most of the forwarding protocol configuration required for certain cloud services, allowing you to simply specify only the forwarding destination and credentials in order to start sending data.
Available Adapters
Currently, Funnel is compatible with the following cloud services:
- AWS Kinesis Streams
- AWS Kinesis Firehose
- AWS IoT
- Microsoft Azure Event Hubs
- Google Cloud Pub/Sub
Entry Points
To utilize Funnel, your devices must be compatible with at least one of the following entry point protocols:
Air for Cellular
Entry Point | Address | Description |
---|---|---|
TCP | tcp://funnel.soracom.io:23080 |
Receive TCP packets from a device and forward them to your cloud service |
UDP | udp://funnel.soracom.io:23080 |
Receive UDP packets from a device and forward them to your cloud service |
HTTP | http://funnel.soracom.io |
Receive HTTP requests from a device and forward them to your cloud service |
SMS | 901021 |
Receive SMS messages from a device and forward them to your cloud service |
USSD | *901021*{data}# |
Receive USSD messages from a device and forward them to your cloud service |
Currently, the SMS and USSD entry points are available only for plan01s, plan01s - LDV, plan-NA1, and planX3 SIMs.
Air for Sigfox and Air for LoRaWAN
Data is captured automatically from the device. Configuring the device to send data to a specific entry point is not required.
Soracom Inventory
Data is captured automatically from the device. Configuring the device to send data to a specific entry point is not required.
Data Format
When Funnel captures data from your device, it will put it in a JSON object containing additional information about the device and forwarding request, with the following format. This JSON is then sent to your cloud service.
{
"operatorid": "OP0012345678",
"timestamp": "1520001234",
"destination" : {
"resourceUrl": "<YOUR-CLOUD-SERVICE-URL>",
"provider": "aws"|"azure"|"google",
"service": "kinesis"|"firehose"|"aws-iot"|"eventhubs"|"pubsub"
},
"credentialId": "<YOUR-CREDENTIALS-SET-ID>",
"payloads": "<DEVICE-DATA>",
"sourceProtocol": "tcp"|"udp"|"http"|"unspecified",
"imsi": "295000012345678"
}
Limitations
SMS entry point - When sending data to Funnel using SMS, ensure that your device's SMS header option is disabled. If a header is included, the SMS User Data field will be processed as-is and will result in unwanted or malformed text content.
Free Tier
Soracom provides a free tier for Funnel with each Soracom account. Refer to the Pricing & Fee Schedule for more information.