User’s Guide

UDP/TCP Service

8.3.1.2.UDP Server Sessions

Opening a UDP Server Session

The modem will check all incoming packets for the source IP address. If Friends Only is enabled, the originator’s IP address is checked against entries in the Friends List. If no match is found the packet is discarded. If there is a match, or the Friends List is empty, the modem will also verify that the destination port is matched to the listening port set in register +WS212. Again, a mismatch will cause the modem to discard the packet.

Provided an incoming packet is acceptable, the modem will then behave as determined by the setting of control signals (DTR and RTS), Quiet (Q), and the auto-answer setting (S0).

NOTE

UDP packets are buffered at the modem. If manual answer is being used, and several connection attempts are ignored, the packet buffers may overflow. When a session is opened, all buffered packets are forwarded to the host.

It is possible to have buffered packets from multiple source clients but only the last packet received can be answered.

The onus is on the user to implement host protocols when using UDP to ensure data is not lost or corrupted.

When the modem has advised the local host device of the change from command state to data state, the incoming packets will be presented to the host (based on DTR). The modem is ready to accept host reply data for packet assembly and transmission to the client.

The host can check the identity of the current client by escaping data state and issuing the +WVCALLERIP command. The response is the IP address of the current client in dotted- decimal format.

Using an Open UDP Session

While a session is open, the modem handles packet assembly and disassembly for outgoing and incoming data respectively. For details on packet assembly and forwarding see Section 6.6 above.

An intelligent or semi-intelligent host server will want to receive the packet data and respond to it. A dumb host server will simply begin sending telemetry.

Receiving Data

Once the session is open, the modem will accept packets based on the setting of the UDP Server Receive Lock (+WS217). If the lock is disabled (+WS217=0) then the modem will only accept packets from the connected client; any packets arriving from a source address (IP and port) other than the current client are ignored. When the receive lock feature is enabled, the modem will accept packets from any client (within the Friends List if used), entering them into a first-in first- out (FIFO) queue as described in Section 6.2.1.2 above.

When the receive lock is not used, then, when the calling station closes its session the DART 300 server must do so also; otherwise, if the caller initiates another client session, it may use a different originating port and its packets will be declined by the original server session as originating from a different client process. The protocol to ensure that both the client and server close a session is up to the application. The PAD Inactivity Timeout (S30) is available to allow dumb and semi-intelligent host devices to do this.

RTS or DTR flow control can be used to suspend the flow of data from the modem to the local host (DTE). If RTS or DTR is de-asserted, the modem will buffer incoming packets. When RTS is re-asserted, the data held in the modem will be delivered to the host. If DTR is being used for flow control, the modem will not release the buffered data until a packet arrives while DTR is asserted. In the event that the modem’s receive buffer fills, the modem will automatically assert

2110212 Rev 1.0

Page 67

Page 78
Image 78
Sierra Wireless DART 300 UDP Server Sessions, Opening a UDP Server Session, Using an Open UDP Session, Receiving Data