Which Transport to Use
The V2 SDK introduces a new UDP transport, but that's not to say you should stop using USSD. The choice comes down to the types of network that your Thing needs to operate on, and in some cases the size of your payloads.
The diagram below explains the decision process:
USSD / UDP
The SDK includes a modem driver (implemented as a ThingstreamTransport instance) that supports both USSD and UDP communication. This driver is used with a hardware specific modem configuration.
Each SDK includes examples which demonstrate how this can be easily incorporated into a sample application.
One such approach might be:
define a gsm buffer...
#define GSM_BUFFER_LENGTH 2000
static uint8_t gsmBuffer[GSM_BUFFER_LENGTH];
creating a ring or line buffer for callbacks as appropriate...
create the appropriate modem transport....
Define the modem buffer
When creating the transport remember to specify the initialisation routine for a particular UDP modem in this case it's the U-blox Lara-R211 modem.
The full list of supported modem initialisers can be found within the API Documentation provided in the download bundle.