Q931.c File Reference

#include "Q921.h"
#include "Q931.h"
#include <stdarg.h>
#include <assert.h>

Go to the source code of this file.

Defines

#define Q931PRIVATE
#define Q931_MAX_ERROR   32
#define Q931_TRUNK_FLAG_SET_FUNC(_name, _flag)
#define Q931_TRUNK_FLAG_GET_FUNC(_name, _flag)

Functions

void Q931SetL4HeaderSpace (L3INT space)
void Q931SetL2HeaderSpace (L3INT space)
L3INT Q931ProcDummy (Q931_TrunkInfo_t *pTrunk, L3UCHAR *b, L3INT c)
L3INT Q931UmesDummy (Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size)
L3INT Q931UieDummy (Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *pMsg, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *IOff, L3INT *OOff)
L3INT Q931PmesDummy (Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize)
L3INT Q931PieDummy (Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *Octet)
L3INT Q931TxDummy (Q931_TrunkInfo_t *pTrunk, L3UCHAR *b, L3INT n)
void Q931Initialize (void)
 Initialize Q.931 stack.
void Q931TimerTick (Q931_TrunkInfo_t *pTrunk)
 Periodically called to update and check for expired timers.
L3INT Q931Rx23 (Q931_TrunkInfo_t *pTrunk, L3INT ind, L3UCHAR tei, L3UCHAR *buf, L3INT Size)
L3INT Q931Tx34 (Q931_TrunkInfo_t *pTrunk, L3UCHAR *Mes, L3INT Size)
L3INT Q931Rx43 (Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf, L3INT Size)
L3INT Q931Tx32Data (Q931_TrunkInfo_t *pTrunk, L3UCHAR bcast, L3UCHAR *Mes, L3INT Size)
void Q931SetError (Q931_TrunkInfo_t *pTrunk, L3INT ErrID, L3INT ErrPar1, L3INT ErrPar2)
L3INT Q931ReleaseCRV (Q931_TrunkInfo_t *pTrunk, L3INT CRV)
L3ULONG Q931GetTime ()
void Q931SetGetTimeCB (L3ULONG(*callback)(void))
void Q931AddStateEntry (L3UCHAR iD, L3INT iState, L3INT iMes, L3UCHAR flags)
L3BOOL Q931IsEventLegal (L3UCHAR iD, L3INT iState, L3INT iMes, L3UCHAR dirflags)
const char * q931_error_to_name (q931_error_t error)
L3INT Q931Log (Q931_TrunkInfo_t *trunk, Q931LogLevel_t level, const char *fmt,...)
void Q931SetLogCB (Q931_TrunkInfo_t *trunk, Q931LogCB_t func, void *priv)
 Set Logging callback function and private data.
void Q931SetLogLevel (Q931_TrunkInfo_t *trunk, Q931LogLevel_t level)
 Set Loglevel.
L3INT Q931TimeoutDummy (Q931_TrunkInfo_t *pTrunk, struct Q931_Call *call)
 Dummy handler for timeouts.
void Q931TrunkSetFlag (Q931_TrunkInfo_t *trunk, L3INT flag)
void Q931TrunkClearFlag (Q931_TrunkInfo_t *trunk, L3INT flag)
void Q931TrunkClearAllFlags (Q931_TrunkInfo_t *trunk)
L3BOOL Q931TrunkIsSetFlag (const Q931_TrunkInfo_t *trunk, const L3INT flag)
 Q931_TRUNK_FLAG_SET_FUNC (Q931TrunkSetAutoSetupAck, Q931_TFLAG_AUTO_SETUP_ACK)
 Q931_TRUNK_FLAG_SET_FUNC (Q931TrunkSetAutoServiceAck, Q931_TFLAG_AUTO_SERVICE_ACK)
 Q931_TRUNK_FLAG_SET_FUNC (Q931TrunkSetAutoConnectAck, Q931_TFLAG_AUTO_CONNECT_ACK)
 Q931_TRUNK_FLAG_SET_FUNC (Q931TrunkSetAutoRestartAck, Q931_TFLAG_AUTO_RESTART_ACK)
 Q931_TRUNK_FLAG_SET_FUNC (Q931TrunkSetStatusEnquiry, Q931_TFLAG_STATUS_ENQUIRY)
 Q931_TRUNK_FLAG_SET_FUNC (Q931TrunkSetIgnoreUnknownMsg, Q931_TFLAG_IGNORE_UNKNOWN_MSG)
 Q931_TRUNK_FLAG_SET_FUNC (Q931TrunkSetIgnoreUnknownIEs, Q931_TFLAG_IGNORE_UNKNOWN_IE)
 Q931_TRUNK_FLAG_SET_FUNC (Q931TrunkSetIgnoreIllegalIEs, Q931_TFLAG_IGNORE_ILLEGAL_IE)
 Q931_TRUNK_FLAG_GET_FUNC (Q931TrunkGetAutoSetupAck, Q931_TFLAG_AUTO_SETUP_ACK)
 Q931_TRUNK_FLAG_GET_FUNC (Q931TrunkGetAutoServiceAck, Q931_TFLAG_AUTO_SERVICE_ACK)
 Q931_TRUNK_FLAG_GET_FUNC (Q931TrunkGetAutoConnectAck, Q931_TFLAG_AUTO_CONNECT_ACK)
 Q931_TRUNK_FLAG_GET_FUNC (Q931TrunkGetAutoRestartAck, Q931_TFLAG_AUTO_RESTART_ACK)
 Q931_TRUNK_FLAG_GET_FUNC (Q931TrunkGetStatusEnquiry, Q931_TFLAG_STATUS_ENQUIRY)
 Q931_TRUNK_FLAG_GET_FUNC (Q931TrunkGetIgnoreUnknownMsg, Q931_TFLAG_IGNORE_UNKNOWN_MSG)
 Q931_TRUNK_FLAG_GET_FUNC (Q931TrunkGetIgnoreUnknownIEs, Q931_TFLAG_IGNORE_UNKNOWN_IE)
 Q931_TRUNK_FLAG_GET_FUNC (Q931TrunkGetIgnoreIllegalIEs, Q931_TFLAG_IGNORE_ILLEGAL_IE)
void Q931TrunkSetRelaxedMode (Q931_TrunkInfo_t *trunk, L3BOOL enable)
 Relax IE and Message checks: incoming unknown messages and unknown/invalid IEs will be ignored.
L3INT Q931Proc (Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf, L3INT iFrom)
L3INT Q931ProcInvalid (Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf, L3INT iFrom)
L3INT Q931Umes (Q931_TrunkInfo_t *pTrunk, L3UCHAR id, L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size)
L3INT Q931Pmes (Q931_TrunkInfo_t *pTrunk, L3UCHAR id, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize)
L3INT Q931Uie (Q931_TrunkInfo_t *pTrunk, L3UCHAR id, Q931mes_Generic *pMes, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *IOff, L3INT *OOff)
L3INT Q931Pie (Q931_TrunkInfo_t *pTrunk, L3UCHAR id, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *Octet)
L3BOOL Q931UieIsNull (Q931_TrunkInfo_t *pTrunk, L3UCHAR id)
L3BOOL Q931PieIsNull (Q931_TrunkInfo_t *pTrunk, L3UCHAR id)
L3INT Q931Timeout (Q931_TrunkInfo_t *pTrunk, struct Q931_Call *call, L3UCHAR timer)
L3INT Q931ProcUnknownMessage (Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf, L3INT iFrom)
L3INT Q931ProcUnexpectedMessage (Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf, L3INT iFrom)

Variables

L3INT Q931L4HeaderSpace = {0}
L3INT Q931L2HeaderSpace = {4}
L3ULONG(* Q931GetTimeProc )(void) = NULL


Define Documentation

#define Q931_MAX_ERROR   32

Definition at line 802 of file Q931.c.

Referenced by q931_error_to_name().

#define Q931_TRUNK_FLAG_GET_FUNC ( _name,
_flag   ) 

Value:

L3BOOL _name(Q931_TrunkInfo_t *trunk) {                 \
                assert(trunk);                                  \
                return Q931TrunkIsSetFlag(trunk, _flag);        \
        }

Definition at line 928 of file Q931.c.

#define Q931_TRUNK_FLAG_SET_FUNC ( _name,
_flag   ) 

Value:

void _name(Q931_TrunkInfo_t *trunk, L3BOOL enable) {    \
                assert(trunk);                                  \
                if (enable) {                                   \
                        Q931TrunkSetFlag(trunk, _flag);         \
                } else {                                        \
                        Q931TrunkClearFlag(trunk, _flag);       \
                }                                               \
        }

Definition at line 918 of file Q931.c.

#define Q931PRIVATE

Definition at line 39 of file Q931.c.


Function Documentation

const char* q931_error_to_name ( q931_error_t  error  ) 

Definition at line 804 of file Q931.c.

References Q931_MAX_ERROR.

Q931_TRUNK_FLAG_GET_FUNC ( Q931TrunkGetIgnoreIllegalIEs  ,
Q931_TFLAG_IGNORE_ILLEGAL_IE   
)

Q931_TRUNK_FLAG_GET_FUNC ( Q931TrunkGetIgnoreUnknownIEs  ,
Q931_TFLAG_IGNORE_UNKNOWN_IE   
)

Q931_TRUNK_FLAG_GET_FUNC ( Q931TrunkGetIgnoreUnknownMsg  ,
Q931_TFLAG_IGNORE_UNKNOWN_MSG   
)

Q931_TRUNK_FLAG_GET_FUNC ( Q931TrunkGetStatusEnquiry  ,
Q931_TFLAG_STATUS_ENQUIRY   
)

Q931_TRUNK_FLAG_GET_FUNC ( Q931TrunkGetAutoRestartAck  ,
Q931_TFLAG_AUTO_RESTART_ACK   
)

Q931_TRUNK_FLAG_GET_FUNC ( Q931TrunkGetAutoConnectAck  ,
Q931_TFLAG_AUTO_CONNECT_ACK   
)

Q931_TRUNK_FLAG_GET_FUNC ( Q931TrunkGetAutoServiceAck  ,
Q931_TFLAG_AUTO_SERVICE_ACK   
)

Q931_TRUNK_FLAG_GET_FUNC ( Q931TrunkGetAutoSetupAck  ,
Q931_TFLAG_AUTO_SETUP_ACK   
)

Q931_TRUNK_FLAG_SET_FUNC ( Q931TrunkSetIgnoreIllegalIEs  ,
Q931_TFLAG_IGNORE_ILLEGAL_IE   
)

Q931_TRUNK_FLAG_SET_FUNC ( Q931TrunkSetIgnoreUnknownIEs  ,
Q931_TFLAG_IGNORE_UNKNOWN_IE   
)

Q931_TRUNK_FLAG_SET_FUNC ( Q931TrunkSetIgnoreUnknownMsg  ,
Q931_TFLAG_IGNORE_UNKNOWN_MSG   
)

Q931_TRUNK_FLAG_SET_FUNC ( Q931TrunkSetStatusEnquiry  ,
Q931_TFLAG_STATUS_ENQUIRY   
)

Q931_TRUNK_FLAG_SET_FUNC ( Q931TrunkSetAutoRestartAck  ,
Q931_TFLAG_AUTO_RESTART_ACK   
)

Q931_TRUNK_FLAG_SET_FUNC ( Q931TrunkSetAutoConnectAck  ,
Q931_TFLAG_AUTO_CONNECT_ACK   
)

Q931_TRUNK_FLAG_SET_FUNC ( Q931TrunkSetAutoServiceAck  ,
Q931_TFLAG_AUTO_SERVICE_ACK   
)

Q931_TRUNK_FLAG_SET_FUNC ( Q931TrunkSetAutoSetupAck  ,
Q931_TFLAG_AUTO_SETUP_ACK   
)

void Q931AddStateEntry ( L3UCHAR  iD,
L3INT  iState,
L3INT  iMes,
L3UCHAR  flags 
)

Definition at line 736 of file Q931.c.

L3ULONG Q931GetTime (  ) 

Definition at line 709 of file Q931.c.

References L3ULONG, and Q931GetTimeProc.

Referenced by Q931CallRestartTimer(), Q931CallStartTimer(), and Q931TimerTick().

void Q931Initialize ( void   ) 

Initialize Q.931 stack.

Q931Initialize

Definition at line 210 of file Q931.c.

References ATT5ESSCreateNT(), ATT5ESSCreateTE(), DSS1CreateNT(), DSS1CreateTE(), Q931_Dialect_5ESS, Q931_Dialect_DSS1, Q931_Dialect_Q931, Q931_NT, Q931_TE, Q931CreateNT(), Q931CreateTE(), Q931DialectRegister(), and Q931DialectRegistryInit().

L3BOOL Q931IsEventLegal ( L3UCHAR  iD,
L3INT  iState,
L3INT  iMes,
L3UCHAR  dirflags 
)

Definition at line 750 of file Q931.c.

References L3FALSE.

L3INT Q931Log ( Q931_TrunkInfo_t trunk,
Q931LogLevel_t  level,
const char *  fmt,
  ... 
)

Definition at line 820 of file Q931.c.

References L3INT, Q931_TrunkInfo::loglevel, Q931_TrunkInfo::PrivateDataLog, Q931_LOGBUFSIZE, and Q931_TrunkInfo::Q931LogCBProc.

Referenced by Q931CallDump(), Q931CallNew(), Q931CallRestartTimer(), Q931CallSendEvent(), Q931CallSetState(), Q931CallStartTimer(), Q931CallStopAllTimers(), Q931CallStopTimer(), Q931MesgHeader(), Q931Pie_BearerCap(), Q931Pmes_Generic(), Q931ProcAlertingNT(), Q931ProcCallProceedingNT(), Q931ProcConnectAckNT(), Q931ProcConnectNT(), Q931ProcDisconnectNT(), Q931ProcDisconnectTE(), Q931ProcProgressNT(), Q931ProcResumeAckNT(), Q931ProcResumeRejectNT(), Q931ProcSetupAckNT(), Q931ProcSetupNT(), Q931ProcSetupTE(), Q931ProcSuspendAckNT(), Q931ProcSuspendNT(), Q931ProcSuspendRejectNT(), Q931ProcTimeoutT301NT(), Q931ProcTimeoutT301TE(), Q931ProcTimeoutT302NT(), Q931ProcTimeoutT302TE(), Q931ProcTimeoutT303NT(), Q931ProcTimeoutT303TE(), Q931ProcTimeoutT304NT(), Q931ProcTimeoutT304TE(), Q931ProcTimeoutT305NT(), Q931ProcTimeoutT305TE(), Q931ProcTimeoutT306NT(), Q931ProcTimeoutT307NT(), Q931ProcTimeoutT308NT(), Q931ProcTimeoutT308TE(), Q931ProcTimeoutT309NT(), Q931ProcTimeoutT309TE(), Q931ProcTimeoutT310NT(), Q931ProcTimeoutT310TE(), Q931ProcTimeoutT311TE(), Q931ProcTimeoutT312NT(), Q931ProcTimeoutT313NT(), Q931ProcTimeoutT313TE(), Q931ProcTimeoutT314NT(), Q931ProcTimeoutT314TE(), Q931ProcTimeoutT316NT(), Q931ProcTimeoutT316TE(), Q931ProcTimeoutT317NT(), Q931ProcTimeoutT317TE(), Q931ProcTimeoutT318TE(), Q931ProcTimeoutT319TE(), Q931ProcTimeoutT320NT(), Q931ProcTimeoutT321NT(), Q931ProcTimeoutT321TE(), Q931ProcTimeoutT322NT(), Q931ProcTimeoutT322TE(), Q931ProcUnexpectedMessage(), Q931ProcUnknownMessage(), Q931Rx23(), Q931Rx43(), Q931Start(), Q931TimeoutDummy(), Q931TimerTick(), Q931Tx32Data(), Q931Tx34(), Q931Uie_ChanID(), Q931Uie_Generic(), and Q931Umes_Generic().

L3INT Q931Pie ( Q931_TrunkInfo_t pTrunk,
L3UCHAR  id,
L3UCHAR *  IBuf,
L3UCHAR *  OBuf,
L3INT *  Octet 
)

Definition at line 1043 of file Q931.c.

References Q931_TrunkInfo::Dialect, Q931DialectGetPieProc(), and Q931E_INTERNAL.

Referenced by Q931Pmes_Generic().

L3INT Q931PieDummy ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  IBuf,
L3UCHAR *  OBuf,
L3INT *  Octet 
)

Definition at line 174 of file Q931.c.

References Q931E_UNKNOWN_IE.

L3BOOL Q931PieIsNull ( Q931_TrunkInfo_t pTrunk,
L3UCHAR  id 
)

Definition at line 1058 of file Q931.c.

References Q931_TrunkInfo::Dialect, and Q931DialectGetPieProc().

Referenced by Q931Pmes_Generic().

L3INT Q931Pmes ( Q931_TrunkInfo_t pTrunk,
L3UCHAR  id,
Q931mes_Generic IBuf,
L3INT  ISize,
L3UCHAR *  OBuf,
L3INT *  OSize 
)

Definition at line 1023 of file Q931.c.

References Q931_TrunkInfo::Dialect, Q931DialectGetPmesProc(), and Q931E_INTERNAL.

Referenced by Q931Tx32Data().

L3INT Q931PmesDummy ( Q931_TrunkInfo_t pTrunk,
Q931mes_Generic IBuf,
L3INT  ISize,
L3UCHAR *  OBuf,
L3INT *  OSize 
)

Definition at line 162 of file Q931.c.

References Q931E_UNKNOWN_MESSAGE.

L3INT Q931Proc ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  buf,
L3INT  iFrom 
)

Definition at line 976 of file Q931.c.

References Q931_TrunkInfo::Dialect, Q931mes_Header::MesType, Q931DialectGetMesProc(), Q931DialectGetUnknownMesProc(), Q931E_INTERNAL, Q931E_NO_ERROR, Q931L4HeaderSpace, and Q931TrunkIsSetFlag().

Referenced by Q931AckRestart(), Q931AckService(), Q931AckSetup(), Q931Rx23(), Q931Rx43(), and Q931Start().

L3INT Q931ProcDummy ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  b,
L3INT  c 
)

Definition at line 126 of file Q931.c.

References Q931E_INTERNAL.

L3INT Q931ProcInvalid ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  buf,
L3INT  iFrom 
)

Definition at line 997 of file Q931.c.

References Q931_TrunkInfo::Dialect, Q931DialectGetInvalidMesProc(), and Q931E_INTERNAL.

L3INT Q931ProcUnexpectedMessage ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  buf,
L3INT  iFrom 
)

Definition at line 1086 of file Q931.c.

References Q931mes_Header::MesType, Q931_LOG_NOTICE, Q931E_NO_ERROR, Q931L4HeaderSpace, and Q931Log().

Referenced by ATT5ESSCreateNT(), ATT5ESSCreateTE(), Q931CreateNT(), and Q931CreateTE().

L3INT Q931ProcUnknownMessage ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  buf,
L3INT  iFrom 
)

Definition at line 1077 of file Q931.c.

References Q931mes_Header::MesType, Q931_LOG_NOTICE, Q931E_NO_ERROR, Q931L4HeaderSpace, and Q931Log().

Referenced by ATT5ESSCreateNT(), ATT5ESSCreateTE(), Q931CreateNT(), and Q931CreateTE().

L3INT Q931ReleaseCRV ( Q931_TrunkInfo_t pTrunk,
L3INT  CRV 
)

Definition at line 697 of file Q931.c.

References Q931_Call::InUse, Q931E_INVALID_CRV, Q931E_NO_ERROR, and Q931GetCallByCRV().

L3INT Q931Rx23 ( Q931_TrunkInfo_t pTrunk,
L3INT  ind,
L3UCHAR  tei,
L3UCHAR *  buf,
L3INT  Size 
)

Definition at line 314 of file Q931.c.

References Q931mes_Generic::buf, Q931mes_Generic::CRV, Q931mes_Generic::CRVFlag, Q931_TrunkInfo::Dialect, Q931_CallEvent::id, Q931_TrunkInfo::L3Buf, L3INT, L3UCHAR, Q931mes_Generic::MesType, Q931mes_Generic::ProtDisc, Q850_CAUSE_IE_NONEXIST, Q850_CAUSE_INVALID_IE_CONTENTS, Q850_CAUSE_MANDATORY_IE_MISSING, Q850_CAUSE_MESSAGE_TYPE_NONEXIST, Q850_CAUSE_WRONG_MESSAGE, Q921_DL_DATA, Q921_DL_UNIT_DATA, Q931_EVENT_RELEASE_CRV, Q931_EVENT_TYPE_CRV, Q931_LOG_DEBUG, Q931_U0, Q931CallGetCRV(), Q931CallGetState(), Q931CallGetStateName(), Q931CallIsGlobal(), Q931CallIsOutgoing(), Q931CallNewIncoming(), Q931CallRelease(), Q931CallSendEvent(), Q931CallSendQueuedEvents(), Q931DialectGetName(), Q931Disconnect(), Q931E_ILLEGAL_IE, Q931E_INTERNAL, Q931E_INVALID_CRV, Q931E_MANDATORY_IE_MISSING, Q931E_NO_ERROR, Q931E_UNEXPECTED_MESSAGE, Q931E_UNKNOWN_IE, Q931E_UNRECOGNIZED_MESSAGE, Q931GetCallByCRV(), Q931GetGlobalCall(), Q931InitMesGeneric(), Q931L2HeaderSpace, Q931Log(), Q931mes_RELEASE, Q931mes_RELEASE_COMPLETE, Q931mes_SETUP, Q931mes_STATUS_ENQUIRY, Q931Proc(), Q931StatusEnquiryResponse(), Q931TrunkGetStatusEnquiry(), Q931Tx32Data(), Q931Uie_CRV(), Q931Umes(), Q931mes_Generic::Size, and Q931mes_Generic::Tei.

L3INT Q931Rx43 ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  buf,
L3INT  Size 
)

Definition at line 532 of file Q931.c.

References Q931mes_Header::CRV, Q931mes_Header::CRVFlag, Q931_TrunkInfo::Dialect, Q931_CallEvent::id, L3INT, Q931mes_Header::MesType, Q931_EVENT_RELEASE_CRV, Q931_EVENT_TYPE_CRV, Q931_LOG_DEBUG, Q931_LOG_ERROR, Q931_LOG_NOTICE, Q931_LOG_WARNING, Q931_U0, Q931CallGetCRV(), Q931CallGetState(), Q931CallIsGlobal(), Q931CallIsOutgoing(), Q931CallRelease(), Q931CallSendEvent(), Q931DialectGetMesProc(), Q931DialectIsEventLegal(), Q931E_INVALID_CRV, Q931E_NO_ERROR, Q931E_UNEXPECTED_MESSAGE, Q931E_UNRECOGNIZED_MESSAGE, Q931GetCallByCRV(), Q931GetGlobalCall(), Q931L4HeaderSpace, Q931Log(), Q931Proc(), and Q931TrunkIsSetFlag().

Referenced by Q931ProcStatusTE(), Q931ProcTimeoutT304TE(), Q931ProcTimeoutT305TE(), Q931ProcTimeoutT308TE(), Q931ProcTimeoutT310TE(), Q931ProcTimeoutT313TE(), and Q931ProcTimeoutT318TE().

void Q931SetError ( Q931_TrunkInfo_t pTrunk,
L3INT  ErrID,
L3INT  ErrPar1,
L3INT  ErrPar2 
)

Definition at line 689 of file Q931.c.

References Q931_TrunkInfo::PrivateData34, and Q931_TrunkInfo::Q931ErrorCBProc.

Referenced by Q931Pie_LLComp(), Q931Uie_BearerCap(), Q931Uie_GenericDigits(), Q931Uie_HLComp(), and Q931Uie_LLComp().

void Q931SetGetTimeCB ( L3ULONG(*)(void)  callback  ) 

Definition at line 724 of file Q931.c.

References Q931GetTimeProc.

void Q931SetL2HeaderSpace ( L3INT  space  ) 

Definition at line 114 of file Q931.c.

References Q931L2HeaderSpace.

void Q931SetL4HeaderSpace ( L3INT  space  ) 

Definition at line 99 of file Q931.c.

References Q931L4HeaderSpace.

void Q931SetLogCB ( Q931_TrunkInfo_t trunk,
Q931LogCB_t  func,
void *  priv 
)

Set Logging callback function and private data.

Q921SetLogCB

Definition at line 853 of file Q931.c.

References Q931_TrunkInfo::PrivateDataLog, and Q931_TrunkInfo::Q931LogCBProc.

void Q931SetLogLevel ( Q931_TrunkInfo_t trunk,
Q931LogLevel_t  level 
)

Set Loglevel.

Q921SetLogLevel

Definition at line 863 of file Q931.c.

References Q931_TrunkInfo::loglevel, Q931_LOG_DEBUG, and Q931_LOG_NONE.

L3INT Q931Timeout ( Q931_TrunkInfo_t pTrunk,
struct Q931_Call call,
L3UCHAR  timer 
)

Definition at line 1063 of file Q931.c.

References Q931_TrunkInfo::Dialect, Q931DialectGetTimerProc(), and Q931E_INTERNAL.

Referenced by Q931TimerTick().

L3INT Q931TimeoutDummy ( Q931_TrunkInfo_t pTrunk,
struct Q931_Call call 
)

Dummy handler for timeouts.

Q931TimeoutDummy

Parameters:
pTrunk Q.931 trunk
call Q.931 call

Definition at line 883 of file Q931.c.

References Q931_Call::CRV, Q931_LOG_DEBUG, Q931Log(), and Q931_Call::TimerID.

Referenced by ATT5ESSCreateNT(), Q931CreateNT(), and Q931CreateTE().

void Q931TimerTick ( Q931_TrunkInfo_t pTrunk  ) 

Periodically called to update and check for expired timers.

Q931TimerTick

Parameters:
pTrunk Q.931 trunk

Definition at line 237 of file Q931.c.

References Q931_TrunkInfo::call, Q931_CallEvent::id, Q931_Call::InUse, L3INT, L3ULONG, Q931_EVENT_RELEASE_CRV, Q931_EVENT_TYPE_CRV, Q931_LOG_DEBUG, Q931_U0, Q931CallGetCRV(), Q931CallGetState(), Q931CallIncrementTimerExpireCount(), Q931CallIsGlobal(), Q931CallRelease(), Q931CallSendEvent(), Q931CallStopTimer(), Q931GetTime(), Q931Log(), Q931MAXCALLPERTRUNK, Q931Timeout(), Q931_Call::Timer, and Q931_Call::TimerID.

void Q931TrunkClearAllFlags ( Q931_TrunkInfo_t trunk  ) 

Definition at line 907 of file Q931.c.

References Q931_TrunkInfo::flags.

void Q931TrunkClearFlag ( Q931_TrunkInfo_t trunk,
L3INT  flag 
)

Definition at line 902 of file Q931.c.

References Q931_TrunkInfo::flags.

Referenced by Q931TrunkSetRelaxedMode().

L3BOOL Q931TrunkIsSetFlag ( const Q931_TrunkInfo_t trunk,
const L3INT  flag 
)

Definition at line 912 of file Q931.c.

References Q931_TrunkInfo::flags.

Referenced by Q931Proc(), Q931ProcConnectTE(), Q931ProcRestartNT(), Q931ProcRestartTE(), Q931ProcSetupNT(), Q931ProcSetupTE(), Q931Rx43(), Q931Umes(), and Q931Umes_Generic().

void Q931TrunkSetFlag ( Q931_TrunkInfo_t trunk,
L3INT  flag 
)

Definition at line 897 of file Q931.c.

References Q931_TrunkInfo::flags.

Referenced by Q931TrunkSetRelaxedMode().

void Q931TrunkSetRelaxedMode ( Q931_TrunkInfo_t trunk,
L3BOOL  enable 
)

Relax IE and Message checks: incoming unknown messages and unknown/invalid IEs will be ignored.

Q931TrunkSetRelaxedMode

Parameters:
trunk Q.931 Trunk handle
enable Enable or disable Relaxed mode (Q931_TRUE / Q931_FALSE)
Note:
Use with care!

Definition at line 960 of file Q931.c.

References Q931TrunkClearFlag(), and Q931TrunkSetFlag().

L3INT Q931Tx32Data ( Q931_TrunkInfo_t pTrunk,
L3UCHAR  bcast,
L3UCHAR *  Mes,
L3INT  Size 
)

Definition at line 632 of file Q931.c.

References Q931mes_Generic::CRV, Q931mes_Generic::CRVFlag, Q931_TrunkInfo::L2Buf, L3INT, L3UCHAR, Q931mes_Generic::MesType, Q931_TrunkInfo::PrivateData32, Q921_DL_DATA, Q921_DL_UNIT_DATA, Q931_LOG_DEBUG, Q931CallIsOutgoing(), Q931E_INVALID_CRV, Q931E_MISSING_CB, Q931E_NO_ERROR, Q931GetCallByCRV(), Q931L2HeaderSpace, Q931Log(), Q931Pmes(), Q931_TrunkInfo::Q931Tx32CBProc, and Q931_Call::Tei.

Referenced by Q931CallSendStatus(), Q931ProcAlertingNT(), Q931ProcAlertingTE(), Q931ProcCallProceedingNT(), Q931ProcCallProceedingTE(), Q931ProcCongestionControlNT(), Q931ProcCongestionControlTE(), Q931ProcConnectAckNT(), Q931ProcConnectAckTE(), Q931ProcConnectNT(), Q931ProcConnectTE(), Q931ProcDisconnectNT(), Q931ProcDisconnectTE(), Q931ProcInformationNT(), Q931ProcInformationTE(), Q931ProcNotifyNT(), Q931ProcNotifyTE(), Q931ProcProgressTE(), Q931ProcReleaseCompleteNT(), Q931ProcReleaseNT(), Q931ProcReleaseTE(), Q931ProcRestartAckNT(), Q931ProcRestartAckTE(), Q931ProcRestartNT(), Q931ProcRestartTE(), Q931ProcResumeAckNT(), Q931ProcResumeAckTE(), Q931ProcResumeRejectNT(), Q931ProcResumeRejectTE(), Q931ProcResumeTE(), Q931ProcSegmentNT(), Q931ProcSegmentTE(), Q931ProcSetupAckNT(), Q931ProcSetupAckTE(), Q931ProcSetupNT(), Q931ProcSetupTE(), Q931ProcStatusEnquiryNT(), Q931ProcStatusEnquiryTE(), Q931ProcStatusNT(), Q931ProcStatusTE(), Q931ProcSuspendAckNT(), Q931ProcSuspendAckTE(), Q931ProcSuspendRejectNT(), Q931ProcSuspendRejectTE(), Q931ProcSuspendTE(), Q931ProcUserInformationNT(), Q931ProcUserInformationTE(), Q931Release(), Q931ReleaseComplete(), Q931Rx23(), Q931Send(), Q931StatusEnquiryResponse(), Q932ProcFacilityNT(), Q932ProcFacilityTE(), Q932ProcHoldAckNT(), Q932ProcHoldAckTE(), Q932ProcHoldNT(), Q932ProcHoldRejectNT(), Q932ProcHoldRejectTE(), Q932ProcHoldTE(), Q932ProcRegisterNT(), Q932ProcRegisterTE(), Q932ProcRetrieveAckNT(), Q932ProcRetrieveAckTE(), Q932ProcRetrieveNT(), Q932ProcRetrieveRejectNT(), Q932ProcRetrieveRejectTE(), and Q932ProcRetrieveTE().

L3INT Q931Tx34 ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  Mes,
L3INT  Size 
)

Definition at line 508 of file Q931.c.

References Q931_TrunkInfo::PrivateData34, Q931_LOG_DEBUG, Q931E_MISSING_CB, Q931Log(), and Q931_TrunkInfo::Q931Tx34CBProc.

Referenced by Q931ProcAlertingNT(), Q931ProcAlertingTE(), Q931ProcCallProceedingNT(), Q931ProcCallProceedingTE(), Q931ProcCongestionControlNT(), Q931ProcCongestionControlTE(), Q931ProcConnectAckTE(), Q931ProcConnectNT(), Q931ProcConnectTE(), Q931ProcDisconnectNT(), Q931ProcDisconnectTE(), Q931ProcInformationNT(), Q931ProcInformationTE(), Q931ProcNotifyNT(), Q931ProcNotifyTE(), Q931ProcProgressNT(), Q931ProcProgressTE(), Q931ProcReleaseCompleteNT(), Q931ProcReleaseCompleteTE(), Q931ProcReleaseNT(), Q931ProcReleaseTE(), Q931ProcRestartAckNT(), Q931ProcRestartAckTE(), Q931ProcRestartNT(), Q931ProcRestartTE(), Q931ProcResumeAckTE(), Q931ProcResumeNT(), Q931ProcResumeRejectTE(), Q931ProcSegmentNT(), Q931ProcSegmentTE(), Q931ProcSetupNT(), Q931ProcSetupTE(), Q931ProcStatusNT(), Q931ProcStatusTE(), Q931ProcSuspendAckTE(), Q931ProcSuspendNT(), Q931ProcSuspendRejectTE(), Q931ProcSuspendTE(), Q931ProcUserInformationNT(), Q931ProcUserInformationTE(), Q932ProcFacilityNT(), Q932ProcFacilityTE(), Q932ProcHoldAckNT(), Q932ProcHoldAckTE(), Q932ProcHoldNT(), Q932ProcHoldRejectNT(), Q932ProcHoldRejectTE(), Q932ProcHoldTE(), Q932ProcRegisterNT(), Q932ProcRegisterTE(), Q932ProcRetrieveAckNT(), Q932ProcRetrieveAckTE(), Q932ProcRetrieveNT(), Q932ProcRetrieveRejectNT(), Q932ProcRetrieveRejectTE(), and Q932ProcRetrieveTE().

L3INT Q931TxDummy ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  b,
L3INT  n 
)

Definition at line 186 of file Q931.c.

References Q931E_MISSING_CB.

L3INT Q931Uie ( Q931_TrunkInfo_t pTrunk,
L3UCHAR  id,
Q931mes_Generic pMes,
L3UCHAR *  IBuf,
L3UCHAR *  OBuf,
L3INT *  IOff,
L3INT *  OOff 
)

Definition at line 1033 of file Q931.c.

References Q931_TrunkInfo::Dialect, Q931DialectGetUieProc(), and Q931E_INTERNAL.

Referenced by Q931Umes_Generic().

L3INT Q931UieDummy ( Q931_TrunkInfo_t pTrunk,
Q931mes_Generic pMsg,
L3UCHAR *  IBuf,
L3UCHAR *  OBuf,
L3INT *  IOff,
L3INT *  OOff 
)

Definition at line 150 of file Q931.c.

References Q931E_UNKNOWN_IE.

L3BOOL Q931UieIsNull ( Q931_TrunkInfo_t pTrunk,
L3UCHAR  id 
)

Definition at line 1053 of file Q931.c.

References Q931_TrunkInfo::Dialect, and Q931DialectGetUieProc().

Referenced by Q931Umes_Generic().

L3INT Q931Umes ( Q931_TrunkInfo_t pTrunk,
L3UCHAR  id,
L3UCHAR *  IBuf,
Q931mes_Generic OBuf,
L3INT  IOff,
L3INT  Size 
)

Definition at line 1007 of file Q931.c.

References Q931_TrunkInfo::Dialect, Q931DialectGetUmesProc(), Q931E_INTERNAL, Q931E_NO_ERROR, and Q931TrunkIsSetFlag().

Referenced by Q931Rx23().

L3INT Q931UmesDummy ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  IBuf,
Q931mes_Generic OBuf,
L3INT  IOff,
L3INT  Size 
)

Definition at line 138 of file Q931.c.

References Q931E_UNKNOWN_MESSAGE.


Variable Documentation

L3ULONG(* Q931GetTimeProc)(void) = NULL

Referenced by Q931GetTime(), and Q931SetGetTimeCB().

L3INT Q931L2HeaderSpace = {4}

Definition at line 79 of file Q931.c.

Referenced by Q931Rx23(), Q931SetL2HeaderSpace(), and Q931Tx32Data().

L3INT Q931L4HeaderSpace = {0}

Definition at line 76 of file Q931.c.

Referenced by Q931AckRestart(), Q931AckService(), Q931AckSetup(), Q931CallSendStatus(), Q931Proc(), Q931ProcAlertingNT(), Q931ProcAlertingTE(), Q931ProcCallProceedingNT(), Q931ProcCallProceedingTE(), Q931ProcCongestionControlNT(), Q931ProcCongestionControlTE(), Q931ProcConnectAckNT(), Q931ProcConnectAckTE(), Q931ProcConnectNT(), Q931ProcConnectTE(), Q931ProcDisconnectNT(), Q931ProcDisconnectTE(), Q931ProcInformationNT(), Q931ProcInformationTE(), Q931ProcNotifyNT(), Q931ProcNotifyTE(), Q931ProcProgressNT(), Q931ProcProgressTE(), Q931ProcReleaseCompleteNT(), Q931ProcReleaseCompleteTE(), Q931ProcReleaseNT(), Q931ProcReleaseTE(), Q931ProcRestartAckNT(), Q931ProcRestartAckTE(), Q931ProcRestartNT(), Q931ProcRestartTE(), Q931ProcResumeAckNT(), Q931ProcResumeAckTE(), Q931ProcResumeNT(), Q931ProcResumeRejectNT(), Q931ProcResumeRejectTE(), Q931ProcResumeTE(), Q931ProcSegmentNT(), Q931ProcSegmentTE(), Q931ProcSetupAckNT(), Q931ProcSetupAckTE(), Q931ProcSetupNT(), Q931ProcSetupTE(), Q931ProcStatusEnquiryNT(), Q931ProcStatusEnquiryTE(), Q931ProcStatusNT(), Q931ProcStatusTE(), Q931ProcSuspendAckNT(), Q931ProcSuspendAckTE(), Q931ProcSuspendNT(), Q931ProcSuspendRejectNT(), Q931ProcSuspendRejectTE(), Q931ProcSuspendTE(), Q931ProcUnexpectedMessage(), Q931ProcUnknownMessage(), Q931ProcUserInformationNT(), Q931ProcUserInformationTE(), Q931Release(), Q931ReleaseComplete(), Q931Rx43(), Q931SetL4HeaderSpace(), Q931Start(), Q931StatusEnquiryResponse(), Q932ProcFacilityNT(), Q932ProcFacilityTE(), Q932ProcHoldAckNT(), Q932ProcHoldAckTE(), Q932ProcHoldNT(), Q932ProcHoldRejectNT(), Q932ProcHoldRejectTE(), Q932ProcHoldTE(), Q932ProcRegisterNT(), Q932ProcRegisterTE(), Q932ProcRetrieveAckNT(), Q932ProcRetrieveAckTE(), Q932ProcRetrieveNT(), Q932ProcRetrieveRejectNT(), Q932ProcRetrieveRejectTE(), and Q932ProcRetrieveTE().


Generated on Tue Apr 7 17:38:19 2009 for mod_ssh by  doxygen 1.5.4