Yate
ETSIModem Class Reference

An analog signal processor as defined by ETSI. More...

#include <yatemodem.h>

Inheritance diagram for ETSIModem:
UART DebugEnabler

Public Types

enum  State {
  StateError , WaitFSKStart , WaitMark , WaitMsg ,
  WaitMsgLen , WaitParam , WaitParamLen , WaitData ,
  WaitChksum
}
 
enum  MsgType { MsgCallSetup = 0x80 , MsgMWI = 0x82 , MsgCharge = 0x86 , MsgSMS = 0x89 }
 
enum  MsgParam {
  DateTime = 0x01 , CallerId = 0x02 , CalledId = 0x03 , CallerIdReason = 0x04 ,
  CallerName = 0x07 , CallerNameReason = 0x08 , VisualIndicator = 0x0B , MessageId = 0x0D ,
  LastMsgCLI = 0x0E , CompDateTime = 0x0F , CompCallerId = 0x10 , CallType = 0x11 ,
  FirstCalledId = 0x12 , MWICount = 0x13 , FwdCallType = 0x15 , CallerType = 0x16 ,
  RedirNumber = 0x1A , Charge = 0x20 , AdditionalCharge = 0x21 , Duration = 0x23 ,
  NetworkID = 0x30 , CarrierId = 0x31 , SelectFunction = 0x40 , Display = 0x50 ,
  ServiceInfo = 0x55 , Extension = 0xE0 , Unknown
}
 
- Public Types inherited from UART
enum  State {
  Idle , BitStart , BitData , BitParity ,
  BitStop , UARTError
}
 
enum  Error {
  EFraming , EParity , EChksum , EInvalidData ,
  EUnknown , EStopped , ENone
}
 

Public Member Functions

 ETSIModem (const NamedList &params, const char *name=0)
 
virtual ~ETSIModem ()
 
virtual void reset ()
 
virtual bool recvByte (unsigned char data)
 
- Public Member Functions inherited from UART
 UART (State state, const NamedList &params, const char *name=0)
 
virtual ~UART ()
 
State state () const
 
Error error () const
 
int modemType () const
 
const BitAccumulatoraccumulator () const
 
virtual void reset (State newState=Idle)
 
bool demodulate (const DataBlock &data)
 
bool modulate (DataBlock &dest, NamedList &params)
 
void modulate (DataBlock &dest, const DataBlock &src)
 
bool recvBit (bool value)
 
virtual bool fskStarted ()
 
- Public Member Functions inherited from DebugEnabler
 DebugEnabler (int level=TelEngine::debugLevel(), bool enabled=true)
 
int debugLevel () const
 
int debugLevel (int level)
 
bool debugEnabled () const
 
void debugEnabled (bool enable)
 
const char * debugName () const
 
bool debugAt (int level) const
 
bool debugChained () const
 
void debugChain (const DebugEnabler *chain=0)
 
void debugCopy (const DebugEnabler *original=0)
 

Static Public Attributes

static TokenDict s_msg []
 
static TokenDict s_msgParams []
 
- Static Public Attributes inherited from UART
static TokenDict s_errors []
 

Protected Member Functions

virtual int idleRecvByte (unsigned char data)
 
virtual bool recvParams (MsgType msg, const NamedList &params)
 
virtual bool decode (MsgType msg, const DataBlock &buffer)
 
virtual bool createMsg (NamedList &params, DataBlock &data)
 
- Protected Member Functions inherited from UART
bool error (Error e)
 
- Protected Member Functions inherited from DebugEnabler
void debugName (const char *name)
 

Detailed Description

An analog signal processor as defined by ETSI.

This class implements a modem/UART pair used to demodulate/decode analog signal as defined in ETSI EN 300 659-1, ETSI EN 300 659-2, ETSI EN 300 659-3

Member Enumeration Documentation

◆ MsgParam

enum MsgParam

Message parameters defined in ETSI EN 659-3 5.3

◆ MsgType

enum MsgType

Message type defined in ETSI EN 659-3 5.2

◆ State

enum State

The state of this ETSI decoder

Constructor & Destructor Documentation

◆ ETSIModem()

ETSIModem ( const NamedList & params,
const char * name = 0 )

Constructor

Parameters
paramsDecoder parameters
nameThe name of this debug enabler

◆ ~ETSIModem()

virtual ~ETSIModem ( )
virtual

Destructor

Member Function Documentation

◆ createMsg()

virtual bool createMsg ( NamedList & params,
DataBlock & data )
protectedvirtual

Create a buffer containing the byte representation of a message to be sent

Parameters
paramsThe list containing message parameters. The name of the list must be a valid (known) message
dataDestination message data buffer
Returns
False on failure (an 'error' parameter will be set in params)

Reimplemented from UART.

◆ decode()

virtual bool decode ( MsgType msg,
const DataBlock & buffer )
protectedvirtual

Process (decode) a valid received buffer. Call recvParams() after decoding the message

Parameters
msgThe message type as enumeration
bufferThe accumulated data bytes
Returns
False to stop processing data

◆ idleRecvByte()

virtual int idleRecvByte ( unsigned char data)
protectedvirtual

Process an accumulated byte in Idle state

Parameters
dataThe byte to process
Returns
Negative to stop, positive to change state to BitStart, 0 to continue

Reimplemented from UART.

◆ recvByte()

virtual bool recvByte ( unsigned char data)
virtual

Push a data byte into this decoder. Reset this UART and call decode after validated a received message

Parameters
dataThe byte to be processed
Returns
False to stop feeding data

Reimplemented from UART.

◆ recvParams()

virtual bool recvParams ( MsgType msg,
const NamedList & params )
inlineprotectedvirtual

Process a list of received message parameters

Parameters
msgThe message type as enumeration
paramsMessage parameters
Returns
False to stop processing data

◆ reset()

virtual void reset ( )
virtual

Reset this decoder (modem and UART)

Member Data Documentation

◆ s_msg

TokenDict s_msg[]
static

Keeps the text associated with message type enumeration

◆ s_msgParams

TokenDict s_msgParams[]
static

Keeps the text associated with parameter type enumeration


The documentation for this class was generated from the following file: