# class SignallingUtils | Library wide services and data provider. More...
Full name | `TelEngine::SignallingUtils`
Definition | `#include <libs/ysig/yatesig.h>`
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Static Methods

- static const TokenDict* codings ()
- static const TokenDict* locations ()
- static inline const TokenDict* dict (unsigned int index, unsigned char coding = 0)
- static bool hasFlag (const String& flags, const char* flag)
- static bool appendFlag (String& flags, const char* flag)
- static bool removeFlag (String& flags, const char* flag)
- static bool hasFlag (const NamedList& list, const char* param, const char* flag)
- static bool appendFlag (NamedList& list, const char* param, const char* flag)
- static void addKeyword (NamedList& list, const char* param, const TokenDict* tokens, unsigned int val)
- static void dumpData (const SignallingComponent* comp, NamedList& list, const char* param, const unsigned char* buf, unsigned int len, char sep = ' ')
- static unsigned int dumpDataExt (const SignallingComponent* comp, NamedList& list, const char* param, const unsigned char* buf, unsigned int len, char sep = ' ')
- static bool decodeFlags (const SignallingComponent* comp, NamedList& list, const char* param, const SignallingFlags* flags, const unsigned char* buf, unsigned int len)
- static bool decodeCause (const SignallingComponent* comp, NamedList& list, const unsigned char* buf, unsigned int len, const char* prefix, bool isup)
- static bool decodeCaps (const SignallingComponent* comp, NamedList& list, const unsigned char* buf, unsigned int len, const char* prefix, bool isup)
- static void encodeFlags (const SignallingComponent* comp, int& dest, const String& flags, const TokenDict* dict)
- static unsigned int encodeFlags (const SignallingComponent* comp, const String& flags, const SignallingFlags* dict, const char* paramName = 0)
- static bool encodeCause (const SignallingComponent* comp, DataBlock& buf, const NamedList& params, const char* prefix, bool isup, bool fail = false)
- static bool encodeCaps (const SignallingComponent* comp, DataBlock& buf, const NamedList& params, const char* prefix, bool isup)
- static unsigned int* parseUIntArray (const String& source, unsigned int minVal, unsigned int maxVal, unsigned int& count, bool discardDup)

## Detailed Description

Provides data and services for SS7 and ISDN

const TokenDict* codings () | ### codings

[static]

Retreive the dictionary keeping the coding standard flags of ISUP and ISDN parameters as defined in Q.850

Returns: Pointer to the coding standards dictionary

const TokenDict* locations () | ### locations

[static]

Retreive the dictionary keeping the location flags of ISUP and ISDN parameters as defined in Q.850

Returns: Pointer to the locations dictionary

inline const TokenDict* dict (unsigned int index, unsigned char coding = 0) | ### dict

[static]

Retreive a dictionary given by index and coding standard for ISUP and ISDN parameters

Parameters:

index | The desired disctionary: 0: The release causes of ISUP and ISDN calls as defined in Q.850. 1: The formats negotiated in ISDN and ISUP parameters as defined in Q.931/Q.763. 2: The transfer capability negotiated in ISDN and ISUP parameters as defined in Q.931/Q.763. 3: The transfer mode negotiated in ISDN and ISUP parameters as defined in Q.931/Q.763. 4: The transfer rate negotiated in ISDN and ISUP parameters as defined in Q.931/Q.763.
coding | Optional coding standard. Defaults to CCITT if 0

Returns: Pointer to the requested dictionary or 0

bool hasFlag (const String& flags, const char* flag) | ### hasFlag

[static]

Check if a comma separated list of flags has a given flag

Parameters:

flags | The list of flags
flag | The flag to check

Returns: True if the given flag is found

bool appendFlag (String& flags, const char* flag) | ### appendFlag

[static]

Append a flag to a comma separated list of flags if it doesn't exist

Parameters:

flags | The list of flags
flag | The flag to add

Returns: True if the given flag was not found but added

bool removeFlag (String& flags, const char* flag) | ### removeFlag

[static]

Remove a flag from a comma separated list of flags

Parameters:

flags | The list of flags
flag | The flag to remove

Returns: True if the given flag was found and removed

bool hasFlag (const NamedList& list, const char* param, const char* flag) | ### hasFlag

[static]

Check if a list's parameter (comma separated list of flags) has a given flag

Parameters:

list | The parameter list
param | The parameter to check
flag | The flag to check

Returns: True if the given flag is found

bool appendFlag (NamedList& list, const char* param, const char* flag) | ### appendFlag

[static]

Append a flag to a list parameter (comma separated list), craete parameter if missing

Parameters:

list | The parameter list
param | The parameter to append to
flag | The flag to add

Returns: True if the given flag was not found but added

void addKeyword (NamedList& list, const char* param, const TokenDict* tokens, unsigned int val) | ### addKeyword

[static]

Add string (keyword) if found in a dictionary or integer parameter to a named list

Parameters:

list | Destination list
param | Parameter to add to the list
tokens | The dictionary used to find the given value
val | The value to find/add to the list

void dumpData (const SignallingComponent* comp, NamedList& list, const char* param, const unsigned char* buf, unsigned int len, char sep = ' ') | ### dumpData

[static]

Dump a buffer to a list of parameters

Parameters:

comp | Signalling component requesting the service. Used to print debug messages
list | The destination list
param | Parameter to add to the list
buf | The buffer containing the data to dump
len | Buffer's length
sep | The separator between elements

unsigned int dumpDataExt (const SignallingComponent* comp, NamedList& list, const char* param, const unsigned char* buf, unsigned int len, char sep = ' ') | ### dumpDataExt

[static]

Dump data from a buffer to a list of parameters. The buffer is parsed until (and including) the first byte with the extension bit (the most significant one) set

Parameters:

comp | Signalling component requesting the service. Used to print debug messages
list | The destination list
param | Parameter to add to the list
buf | The buffer containing the data to dump
len | Buffer's length
sep | The separator between elements

Returns: The number of bytes processed. 0 if the end of the buffer was reached without finding a byte with the extension bit set

bool decodeFlags (const SignallingComponent* comp, NamedList& list, const char* param, const SignallingFlags* flags, const unsigned char* buf, unsigned int len) | ### decodeFlags

[static]

Decode a received buffer to a comma separated list of flags and add it to a list of parameters

Parameters:

comp | Signalling component requesting the service. Used to print debug messages
list | The destination list
param | The parameter to add to the list
flags | The flags description to use
buf | The buffer containing the data to parse
len | Buffer's length

Returns: False if the flags description or the buffer is missing or the buffer's length exceeds the length of the 'unsigned int' data type

bool decodeCause (const SignallingComponent* comp, NamedList& list, const unsigned char* buf, unsigned int len, const char* prefix, bool isup) | ### decodeCause

[static]

Decode cause parameters as defined in Q.850

Parameters:

comp | Signalling component requesting the service. Used to print debug messages
list | The destination list
buf | The buffer containing the data to parse
len | Buffer's length
prefix | The prefix to add to the fields before adding to the destination list
isup | True if the requestor is ISUP, false for ISDN requestor

Returns: True if successfully parsed

bool decodeCaps (const SignallingComponent* comp, NamedList& list, const unsigned char* buf, unsigned int len, const char* prefix, bool isup) | ### decodeCaps

[static]

Decode bearer capabilities as defined in Q.931 (Bearer Capabilities) and Q.763 (User Service Information)

Parameters:

comp | Signalling component requesting the service. Used to print debug messages
list | The destination list
buf | The buffer containing the data to parse
len | Buffer's length
prefix | The prefix to add to the fields before adding to the destination list
isup | True if the requestor is ISUP, false for ISDN requestor

Returns: True if successfully parsed

void encodeFlags (const SignallingComponent* comp, int& dest, const String& flags, const TokenDict* dict) | ### encodeFlags

[static]

Encode a comma separated list of flags. Flags can be prefixed with the '-' character to be reset if previously set

Parameters:

comp | Signalling component requesting the service. Used to print debug messages
dest | Destination flak mask
flags | The flag list
dict | Dictionary used to retrieve the flag names and values

Returns: The OR'd value of found flags

unsigned int encodeFlags (const SignallingComponent* comp, const String& flags, const SignallingFlags* dict, const char* paramName = 0) | ### encodeFlags

[static]

Encode a comma separated list of signalling flags

Parameters:

comp | Signalling component requesting the service. Used to print debug messages
flags | The flag list
dict | Signalling flags used to retrieve the flag names and values
paramName | Optional flags parameter name used for debug purposes

Returns: The OR'd value of found flags

bool encodeCause (const SignallingComponent* comp, DataBlock& buf, const NamedList& params, const char* prefix, bool isup, bool fail = false) | ### encodeCause

[static]

Encode cause parameters as defined in Q.850. Create with normal clearing value if parameter is missing. Don't encode diagnostic if total length exceeds 32 bytes for Q.931 requestor

Parameters:

comp | Signalling component requesting the service. Used to print debug messages
buf | The destination buffer
params | The list with the parameters
prefix | The prefix of the fields obtained from parameter list
isup | True if the requestor is ISUP, false for ISDN requestor
fail | Fail if the buffer is too long. Ignored if isup is true

Returns: False if the requestor is Q.931, fail is true and the length exceeds 32 bytes

bool encodeCaps (const SignallingComponent* comp, DataBlock& buf, const NamedList& params, const char* prefix, bool isup) | ### encodeCaps

[static]

Encode bearer capabilities as defined in Q.931 (Bearer Capabilities) and Q.763 (User Service Information)

Parameters:

comp | Signalling component requesting the service. Used to print debug messages
buf | The destination buffer
params | The list with the parameters
prefix | The prefix of the fields obtained from parameter list
isup | True if the requestor is ISUP, false for ISDN requestor

Returns: True

unsigned int* parseUIntArray (const String& source, unsigned int minVal, unsigned int maxVal, unsigned int& count, bool discardDup) | ### parseUIntArray

[static]

Parse a list of unsigned integers or unsigned integer intervals. Source elements must be separated by a '.' or ',' character. Interval margins must be separated by a '-' character. Empty elements are ignored

Parameters:

source | The string to parse
minVal | The minimum value for each element in the array
maxVal | The maximum value for each element in the array
count | On exit will contain the length of the returned array (0 on failure)
discardDup | True to discard duplicate values

Returns: Pointer to an array of unsigned integers on success (the caller must delete it after use). 0 on failure (source is empty or has invalid format or an invalid value was found)

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.