Q931.h File Reference

#include <string.h>
#include "Q850.h"
#include "Q931call.h"
#include "Q931ie.h"
#include "Q932.h"

Go to the source code of this file.

Data Structures

struct  Q931mes_Header
struct  Q931mes_Generic
struct  Q931_TrunkInfo
struct  Q931_TrunkInfo::_charray

Defines

#define L3CHAR   char
#define L3UCHAR   unsigned char
#define L3USHORT   unsigned short
#define L3UINT   unsigned int
#define L3INT   int
#define L3ULONG   unsigned long
#define L3BOOL   char
#define L3TRUE   1
#define L3FALSE   0
#define Q931_LOGBUFSIZE   1024
#define Q931L4BUF   1000
#define Q931L2BUF   300
#define Q931MAXTRUNKS   4
#define Q931MAXCHPERTRUNK   32
#define Q931MAXCALLPERTRUNK   (Q931MAXCHPERTRUNK * 2)
#define Q931_IS_BRI(x)   ((x)->TrunkType == Q931_TrType_BRI || (x)->TrunkType == Q931_TrType_BRI_PTMP)
#define Q931_IS_PRI(x)   (!Q931_IS_BRI(x))
#define Q931_IS_PTP(x)   ((x)->TrunkType != Q931_TrType_BRI_PTMP)
#define Q931_IS_PTMP(X)   ((x)->TrunkType == Q931_TrType_BRI_PTMP)
#define Q931_BRI_MAX_CRV   127
#define Q931_PRI_MAX_CRV   32767
#define Q931MAXDLCT   8
#define Q931MAXMES   128
#define Q931MAXIE   255
#define Q931MAXUSEDIE   50
#define Q931MAXCODESETS   7
#define Q931MAXSTATE   100
#define Q931MAXTIMER   25
#define Q931mes_ALERTING   0x01
#define Q931mes_CALL_PROCEEDING   0x02
#define Q931mes_CONNECT   0x07
#define Q931mes_CONNECT_ACKNOWLEDGE   0x0f
#define Q931mes_PROGRESS   0x03
#define Q931mes_SETUP   0x05
#define Q931mes_SETUP_ACKNOWLEDGE   0x0d
#define Q931mes_RESUME   0x26
#define Q931mes_RESUME_ACKNOWLEDGE   0x2e
#define Q931mes_RESUME_REJECT   0x22
#define Q931mes_SUSPEND   0x25
#define Q931mes_SUSPEND_ACKNOWLEDGE   0x2d
#define Q931mes_SUSPEND_REJECT   0x21
#define Q931mes_USER_INFORMATION   0x20
#define Q931mes_DISCONNECT   0x45
#define Q931mes_RELEASE   0x4d
#define Q931mes_RELEASE_COMPLETE   0x5a
#define Q931mes_RESTART   0x46
#define Q931mes_RESTART_ACKNOWLEDGE   0x4e
#define Q931mes_CONGESTION_CONTROL   0x79
#define Q931mes_INFORMATION   0x7b
#define Q931mes_NOTIFY   0x6e
#define Q931mes_STATUS   0x7d
#define Q931mes_STATUS_ENQUIRY   0x75
#define Q931mes_SEGMENT   0x60
#define Q931mes_FACILITY   0x62
#define Q931mes_SERVICE   0x0f
#define Q931mes_SERVICE_ACKNOWLEDGE   0x07
#define Q931mes_FACILITY_ACKNOWLEDGE   0x6a
#define Q931mes_FACILITY_REJECT   0x72
#define Q931mes_REGISTER   0x64
#define Q931_CODESET_ALL   0x07
#define DIALECT_STRINGS   "q931", "national", "dms", "5ess", "dss1"
#define Q931GetIETotSize(ie)   (((ie.InfoID & 0x80) != 0) ? 1 : ie.LenIE) + 2)
#define Q931IsIEPresent(x)   ((x & 0x8000) != 0)
#define Q931GetIEOffset(x)   (x & 0x7fff)
#define Q931GetIEValue(x)   (x & 0x7fff)
#define Q931GetIEPtr(ie, buf)   ((void *)&buf[Q931GetIEOffset(ie)])
#define Q931SetIE(x, o)   { x = (ie)(o) | 0x8000; }
#define IsQ931Ext(x)   ((x & 0x80) == 0)
#define ieGetOctet(x)   ((L3UCHAR)(x))
#define NoWarning(x)   (x = x)

Typedefs

typedef L3USHORT ie
typedef struct Q931_TrunkInfo Q931_TrunkInfo_t
typedef L3INT(* Q931Tx34CB_t )(void *, L3UCHAR *, L3INT)
typedef L3INT(* Q931Tx32CB_t )(void *, L3INT, L3UCHAR, L3UCHAR *, L3INT)
typedef L3INT(* Q931ErrorCB_t )(void *, L3INT, L3INT, L3INT)
typedef L3INT(* Q931LogCB_t )(void *, Q931LogLevel_t, char *, L3INT)
typedef L3INT( q931proc_func_t )(Q931_TrunkInfo_t *pTrunk, L3UCHAR *, L3INT)
typedef L3INT( q931umes_func_t )(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size)
typedef L3INT( q931pmes_func_t )(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize)
typedef L3INT( q931uie_func_t )(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *pMsg, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *IOff, L3INT *OOff)
typedef L3INT( q931pie_func_t )(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *Octet)
typedef L3INT( q931timeout_func_t )(Q931_TrunkInfo_t *pTrunk, struct Q931_Call *call)
typedef L3ULONG q931timer_t

Enumerations

enum  q931_error_t {
  Q931E_NO_ERROR = 0, Q931E_UNKNOWN_MESSAGE = -3001, Q931E_ILLEGAL_IE = -3002, Q931E_UNKNOWN_IE = -3003,
  Q931E_BEARERCAP = -3004, Q931E_HLCOMP = -3005, Q931E_LLCOMP = -3006, Q931E_INTERNAL = -3007,
  Q931E_MISSING_CB = -3008, Q931E_UNEXPECTED_MESSAGE = -3009, Q931E_ILLEGAL_MESSAGE = -3010, Q931E_TOMANYCALLS = -3011,
  Q931E_INVALID_CRV = -3012, Q931E_CALLID = -3013, Q931E_CALLSTATE = -3014, Q931E_CALLEDSUB = -3015,
  Q931E_CALLEDNUM = -3016, Q931E_CALLINGNUM = -3017, Q931E_CALLINGSUB = -3018, Q931E_CAUSE = -3019,
  Q931E_CHANID = -3020, Q931E_DATETIME = -3021, Q931E_DISPLAY = -3022, Q931E_KEYPADFAC = -3023,
  Q931E_NETFAC = -3024, Q931E_NOTIFIND = -3025, Q931E_PROGIND = -3026, Q931E_RESTARTIND = -3027,
  Q931E_SEGMENT = -3028, Q931E_SIGNAL = -3029, Q931E_GENERIC_DIGITS = -3030, Q931E_MANDATORY_IE_MISSING = -3031,
  Q931E_UNRECOGNIZED_MESSAGE = -3032
}
enum  {
  Q931_TIMER_NONE = 0, Q931_TIMER_T300, Q931_TIMER_T301, Q931_TIMER_T302,
  Q931_TIMER_T303, Q931_TIMER_T304, Q931_TIMER_T305, Q931_TIMER_T306,
  Q931_TIMER_T307, Q931_TIMER_T308, Q931_TIMER_T309, Q931_TIMER_T310,
  Q931_TIMER_T311, Q931_TIMER_T312, Q931_TIMER_T313, Q931_TIMER_T314,
  Q931_TIMER_T315, Q931_TIMER_T316, Q931_TIMER_T317, Q931_TIMER_T318,
  Q931_TIMER_T319, Q931_TIMER_T320, Q931_TIMER_T321, Q931_TIMER_T322
}
enum  {
  Q931_TON_UNKNOWN = 0x00, Q931_TON_INTERNATIONAL = 0x01, Q931_TON_NATIONAL = 0x02, Q931_TON_NETWORK_SPECIFIC = 0x03,
  Q931_TON_SUBSCRIBER_NUMBER = 0x04, Q931_TON_ABBREVIATED_NUMBER = 0x06, Q931_TON_RESERVED = 0x07
}
enum  {
  Q931_NUMPLAN_UNKNOWN = 0x00, Q931_NUMPLAN_E164 = 0x01, Q931_NUMPLAN_X121 = 0x03, Q931_NUMPLAN_F69 = 0x04,
  Q931_NUMPLAN_NATIONAL = 0x08, Q931_NUMPLAN_PRIVATE = 0x09, Q931_NUMPLAN_RESERVED = 0x0e
}
enum  { Q931_PRES_ALLOWED = 0x00, Q931_PRES_RESTRICTED = 0x01, Q931_PRES_NOT_AVAILABLE = 0x02, Q931_PRES_RESERVED = 0x03 }
enum  { Q931_SCREEN_USER_NOT_SCREENED = 0x00, Q931_SCREEN_USER_VERIFIED_PASSED = 0x01, Q931_SCREEN_USER_VERIFIED_FAILED = 0x02, Q931_SCREEN_NETWORK = 0x03 }
enum  { Q931_CODING_ITU = 0x00, Q931_CODING_ISO = 0x01, Q931_CODING_NATIONAL = 0x02, Q931_CODING_NETWORK = 0x03 }
enum  {
  Q931_HLCHAR_TELEPHONY = 0x01, Q931_HLCHAR_FAX_G23 = 0x04, Q931_HLCHAR_FAX_G4 = 0x21, Q931_HLCHAR_FAX_G4II = 0x24,
  Q931_HLCHAR_T102 = 0x32, Q931_HLCHAR_T101 = 0x33, Q931_HLCHAR_F60 = 0x35, Q931_HLCHAR_X400 = 0x38,
  Q931_HLCHAR_X200 = 0x41
}
enum  {
  Q931_UIL1P_V110 = 0x01, Q931_UIL1P_I460 = 0x01, Q931_UIL1P_X30 = 0x01, Q931_UIL1P_G711U = 0x02,
  Q931_UIL1P_G711A = 0x03, Q931_UIL1P_G721 = 0x04, Q931_UIL1P_H221 = 0x05, Q931_UIL1P_H242 = 0x05,
  Q931_UIL1P_H223 = 0x06, Q931_UIL1P_H245 = 0x06, Q931_UIL1P_RATE_ADAP = 0x07, Q931_UIL1P_V120 = 0x08,
  Q931_UIL1P_X31 = 0x09
}
enum  {
  Q931_ITC_SPEECH = 0x00, Q931_ITC_UNRESTRICTED = 0x08, Q931_ITC_RESTRICTED = 0x09, Q931_ITC_3K1_AUDIO = 0x10,
  Q931_ITC_UNRESTRICTED_TONES = 0x11, Q931_ITC_VIDEO = 0x18
}
enum  {
  Q931_ITR_PACKET = 0x00, Q931_ITR_64K = 0x10, Q931_ITR_128K = 0x11, Q931_ITR_384K = 0x13,
  Q931_ITR_1536K = 0x15, Q931_ITR_1920K = 0x17, Q931_ITR_MULTI = 0x18
}
enum  {
  Q931_CODESET_0 = 0, Q931_CODESET_1, Q931_CODESET_2, Q931_CODESET_3,
  Q931_CODESET_4, Q931_CODESET_5, Q931_CODESET_6, Q931_CODESET_7
}
enum  Q931LogLevel_t {
  Q931_LOG_NONE = -1, Q931_LOG_EMERG, Q931_LOG_ALERT, Q931_LOG_CRIT,
  Q931_LOG_ERROR, Q931_LOG_WARNING, Q931_LOG_NOTICE, Q931_LOG_INFO,
  Q931_LOG_DEBUG
}
enum  Q931NetUser_t { Q931_TE = 0, Q931_NT }
enum  Q931Dialect_t {
  Q931_Dialect_Q931 = 0, Q931_Dialect_National, Q931_Dialect_DMS, Q931_Dialect_5ESS,
  Q931_Dialect_DSS1, Q931_Dialect_Count
}
enum  Q931_TrunkType_t {
  Q931_TrType_E1 = 0, Q931_TrType_T1, Q931_TrType_J1, Q931_TrType_BRI,
  Q931_TrType_BRI_PTMP
}
enum  Q931_TrunkState_t { Q931_TrState_NoAlignment = 0, Q931_TrState_Aligning, Q931_TrState_Aligned }
enum  Q931_ChanType_t { Q931_ChType_NotUsed = 0, Q931_ChType_B, Q931_ChType_D, Q931_ChType_Sync }

Functions

const char * q931_error_to_name (q931_error_t error)
void Q931TrunkSetAutoSetupAck (Q931_TrunkInfo_t *trunk, L3BOOL enable)
void Q931TrunkSetAutoServiceAck (Q931_TrunkInfo_t *trunk, L3BOOL enable)
void Q931TrunkSetAutoRestartAck (Q931_TrunkInfo_t *trunk, L3BOOL enable)
void Q931TrunkSetAutoConnectAck (Q931_TrunkInfo_t *trunk, L3BOOL enable)
void Q931TrunkSetStatusEnquiry (Q931_TrunkInfo_t *trunk, L3BOOL enable)
void Q931TrunkSetIgnoreUnknownMsg (Q931_TrunkInfo_t *trunk, L3BOOL enable)
void Q931TrunkSetIgnoreUnknownIEs (Q931_TrunkInfo_t *trunk, L3BOOL enable)
void Q931TrunkSetIgnoreIllegalIEs (Q931_TrunkInfo_t *trunk, L3BOOL enable)
L3BOOL Q931TrunkGetAutoSetupAck (Q931_TrunkInfo_t *trunk)
L3BOOL Q931TrunkGetAutoServiceAck (Q931_TrunkInfo_t *trunk)
L3BOOL Q931TrunkGetAutoRestartAck (Q931_TrunkInfo_t *trunk)
L3BOOL Q931TrunkGetAutoConnectAck (Q931_TrunkInfo_t *trunk)
L3BOOL Q931TrunkGetStatusEnquiry (Q931_TrunkInfo_t *trunk)
L3BOOL Q931TrunkGetIgnoreUnknownMsg (Q931_TrunkInfo_t *trunk)
L3BOOL Q931TrunkGetIgnoreUnknownIEs (Q931_TrunkInfo_t *trunk)
L3BOOL Q931TrunkGetIgnoreIllegalIEs (Q931_TrunkInfo_t *trunk)
void Q931TrunkSetRelaxedMode (Q931_TrunkInfo_t *trunk, L3BOOL enable)
 Relax IE and Message checks: incoming unknown messages and unknown/invalid IEs will be ignored.
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 *Mes, L3INT Size)
L3INT Q931Tx32Data (Q931_TrunkInfo_t *pTrunk, L3UCHAR bcast, L3UCHAR *Mes, L3INT Size)
L3INT Q931Rx43 (Q931_TrunkInfo_t *pTrunk, L3UCHAR *Mes, L3INT Size)
L3INT Q931Tx34 (Q931_TrunkInfo_t *pTrunk, L3UCHAR *Mes, L3INT Size)
void Q931SetError (Q931_TrunkInfo_t *pTrunk, L3INT ErrID, L3INT ErrPar1, L3INT ErrPar2)
void Q931Initialize (void)
 Initialize Q.931 stack.
void Q931SetGetTimeCB (L3ULONG(*callback)(void))
L3INT Q931InitMesSetup (Q931mes_Generic *p)
L3INT Q931InitMesRestartAck (Q931mes_Generic *pMes)
L3INT Q931InitMesGeneric (Q931mes_Generic *pMes)
L3INT Q931ReleaseCRV (Q931_TrunkInfo_t *pTrunk, L3INT CRV)
ie Q931AppendIE (L3UCHAR *pm, L3UCHAR *pi)
L3INT Q931InitIEBearerCap (Q931ie_BearerCap *p)
L3INT Q931InitIEChanID (Q931ie_ChanID *p)
L3INT Q931InitIEProgInd (Q931ie_ProgInd *p)
L3INT Q931InitIENetFac (Q931ie_NetFac *pIE)
L3INT Q931InitIEDisplay (Q931ie_Display *pIE)
L3INT Q931InitIEDateTime (Q931ie_DateTime *pIE)
L3INT Q931InitIEKeypadFac (Q931ie_KeypadFac *pIE)
L3INT Q931InitIESignal (Q931ie_Signal *pIE)
L3INT Q931InitIECallingNum (Q931ie_CallingNum *pIE)
L3INT Q931InitIECallingSub (Q931ie_CallingSub *pIE)
L3INT Q931InitIECalledNum (Q931ie_CalledNum *pIE)
L3INT Q931InitIECalledSub (Q931ie_CalledSub *pIE)
L3INT Q931InitIETransNetSel (Q931ie_TransNetSel *pIE)
L3INT Q931InitIELLComp (Q931ie_LLComp *pIE)
L3INT Q931InitIEHLComp (Q931ie_HLComp *pIE)
L3INT Q931Disconnect (Q931_TrunkInfo_t *pTrunk, L3INT iTo, L3INT iCRV, L3INT iCause)
L3INT Q931Release (Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf, struct Q931_Call *call, L3UCHAR causeval)
L3INT Q931ReleaseComplete (Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf, struct Q931_Call *call, L3UCHAR causeval)
L3INT Q931AckRestart (Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf)
L3INT Q931AckConnect (struct Q931_Call *call)
L3INT Q931AckSetup (Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf)
L3INT Q931AckService (Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf)
L3INT Q931InitTrunk (Q931_TrunkInfo_t *pTrunk, Q931Dialect_t Dialect, Q931NetUser_t NetUser, Q931_TrunkType_t TrunkType, Q931Tx34CB_t Q931Tx34CBProc, Q931Tx32CB_t Q931Tx32CBProc, Q931ErrorCB_t Q931ErrorCBProc, void *PrivateData32, void *PrivateData34)
L3INT Q931Start (Q931_TrunkInfo_t *trunk)
 Start Q.931 Trunk (Send RESTART).
L3INT Q931GetMesSize (Q931mes_Generic *pMes)
L3INT Q931InitMesResume (Q931mes_Generic *pMes)
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.
void Q931SetL4HeaderSpace (L3INT space)
void Q931SetL2HeaderSpace (L3INT space)
L3INT Q931CallSendStatus (const struct Q931_Call *call, const L3UCHAR causeval)
 Send STATUS message with cause code.


Define Documentation

#define DIALECT_STRINGS   "q931", "national", "dms", "5ess", "dss1"

Definition at line 711 of file Q931.h.

#define ieGetOctet (  )     ((L3UCHAR)(x))

Definition at line 1008 of file Q931.h.

Referenced by Q931Uie_BearerCap().

#define IsQ931Ext (  )     ((x & 0x80) == 0)

Definition at line 996 of file Q931.h.

Referenced by Q931Uie_BearerCap(), and Q931Uie_LLComp().

#define L3BOOL   char

Definition at line 209 of file Q931.h.

Referenced by Q931Pie_RevChargeInd(), Q932Pmes_Facility(), Q932Pmes_Hold(), Q932Pmes_HoldAck(), Q932Pmes_HoldReject(), Q932Pmes_Register(), Q932Pmes_Retrieve(), Q932Pmes_RetrieveAck(), and Q932Pmes_RetrieveReject().

#define L3CHAR   char

Definition at line 203 of file Q931.h.

#define L3FALSE   0

Definition at line 212 of file Q931.h.

Referenced by Q931DialectIsEventLegal(), Q931IsEventLegal(), Q931Pie_RevChargeInd(), Q932Pmes_Facility(), Q932Pmes_Hold(), Q932Pmes_HoldAck(), Q932Pmes_HoldReject(), Q932Pmes_Register(), Q932Pmes_Retrieve(), Q932Pmes_RetrieveAck(), and Q932Pmes_RetrieveReject().

#define L3INT   int

Definition at line 207 of file Q931.h.

Referenced by Q931AckRestart(), Q931AckService(), Q931AckSetup(), Q931AppendIE(), Q931CallGetStateName(), Q931CallNew(), Q931CallRelease(), Q931GetMesSize(), Q931GetUniqueCRV(), Q931Log(), Q931MesgHeader(), Q931Pie_BearerCap(), Q931Pie_CalledNum(), Q931Pie_CalledSub(), Q931Pie_CallID(), Q931Pie_CallingNum(), Q931Pie_CallingSub(), Q931Pie_CallState(), Q931Pie_Cause(), Q931Pie_ChangeStatus(), Q931Pie_ChanID(), Q931Pie_CongLevel(), Q931Pie_DateTime(), Q931Pie_Display(), Q931Pie_HLComp(), Q931Pie_KeypadFac(), Q931Pie_LLComp(), Q931Pie_NetFac(), Q931Pie_NotifInd(), Q931Pie_ProgInd(), Q931Pie_RepeatInd(), Q931Pie_RestartInd(), Q931Pie_Segment(), Q931Pie_SendComplete(), Q931Pie_Signal(), Q931Pie_TransNetSel(), Q931Pie_UserUser(), Q931Pmes_Generic(), 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(), Q931ProcUserInformationNT(), Q931ProcUserInformationTE(), Q931ReadExt(), Q931Rx23(), Q931Rx43(), Q931TimerTick(), Q931Tx32Data(), Q931Uie_BearerCap(), Q931Uie_CalledNum(), Q931Uie_CalledSub(), Q931Uie_CallID(), Q931Uie_CallingNum(), Q931Uie_CallingSub(), Q931Uie_CallState(), Q931Uie_Cause(), Q931Uie_ChangeStatus(), Q931Uie_ChanID(), Q931Uie_CongLevel(), Q931Uie_CRV(), Q931Uie_DateTime(), Q931Uie_Display(), Q931Uie_Generic(), Q931Uie_GenericDigits(), Q931Uie_HLComp(), Q931Uie_KeypadFac(), Q931Uie_LLComp(), Q931Uie_NetFac(), Q931Uie_NotifInd(), Q931Uie_ProgInd(), Q931Uie_RepeatInd(), Q931Uie_RestartInd(), Q931Uie_Segment(), Q931Uie_SendComplete(), Q931Uie_Signal(), Q931Uie_TransNetSel(), Q931Uie_UserUser(), Q931Umes_Generic(), Q932ProcFacilityNT(), Q932ProcFacilityTE(), Q932ProcHoldAckNT(), Q932ProcHoldAckTE(), Q932ProcHoldNT(), Q932ProcHoldRejectNT(), Q932ProcHoldRejectTE(), Q932ProcHoldTE(), Q932ProcRegisterNT(), Q932ProcRegisterTE(), Q932ProcRetrieveAckNT(), Q932ProcRetrieveAckTE(), Q932ProcRetrieveNT(), Q932ProcRetrieveRejectNT(), Q932ProcRetrieveRejectTE(), Q932ProcRetrieveTE(), Q932Umes_Facility(), Q932Umes_Hold(), Q932Umes_HoldAck(), Q932Umes_HoldReject(), Q932Umes_Register(), Q932Umes_Retrieve(), Q932Umes_RetrieveAck(), and Q932Umes_RetrieveReject().

#define L3TRUE   1

Definition at line 211 of file Q931.h.

Referenced by Q931DialectIsEventLegal(), and Q931DialectRegistryInit().

#define L3UCHAR   unsigned char

Definition at line 204 of file Q931.h.

Referenced by Q931AckConnect(), Q931AckRestart(), Q931CallSendStatus(), Q931GetMesSize(), Q931MesgHeader(), Q931Pie_BearerCap(), Q931Pie_CalledNum(), Q931Pie_CalledSub(), Q931Pie_CallID(), Q931Pie_CallingNum(), Q931Pie_CallingSub(), Q931Pie_CallState(), Q931Pie_Cause(), Q931Pie_ChangeStatus(), Q931Pie_ChanID(), Q931Pie_DateTime(), Q931Pie_Display(), Q931Pie_HLComp(), Q931Pie_KeypadFac(), Q931Pie_LLComp(), Q931Pie_NetFac(), Q931Pie_NotifInd(), Q931Pie_ProgInd(), Q931Pie_RestartInd(), Q931Pie_Segment(), Q931Pie_SendComplete(), Q931Pie_Signal(), Q931Pie_TransNetSel(), Q931Pie_UserUser(), Q931Pmes_Generic(), Q931ProcResumeNT(), Q931ProcSetupNT(), Q931ProcSetupTE(), Q931ProcStatusTE(), Q931ProcTimeoutT303NT(), Q931ProcTimeoutT303TE(), Q931ProcTimeoutT304TE(), Q931ProcTimeoutT305TE(), Q931ProcTimeoutT308NT(), Q931ProcTimeoutT308TE(), Q931ProcTimeoutT310TE(), Q931ProcTimeoutT313TE(), Q931ProcTimeoutT316TE(), Q931ProcTimeoutT318TE(), Q931Release(), Q931ReleaseComplete(), Q931Rx23(), Q931Send(), Q931Start(), Q931StatusEnquiryResponse(), Q931Tx32Data(), Q931Uie_CalledNum(), Q931Uie_CalledSub(), Q931Uie_CallID(), Q931Uie_CallingNum(), Q931Uie_CallingSub(), Q931Uie_Display(), Q931Uie_Generic(), Q931Uie_GenericDigits(), Q931Uie_KeypadFac(), Q931Uie_NetFac(), Q931Uie_TransNetSel(), Q931Uie_UserUser(), and Q931Umes_Generic().

#define L3UINT   unsigned int

Definition at line 206 of file Q931.h.

#define L3ULONG   unsigned long

Definition at line 208 of file Q931.h.

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

#define L3USHORT   unsigned short

Definition at line 205 of file Q931.h.

Referenced by Q931Uie_CRV().

#define NoWarning (  )     (x = x)

Definition at line 1023 of file Q931.h.

Referenced by Q931Pie_RevChargeInd(), Q932Pmes_Facility(), Q932Pmes_Hold(), Q932Pmes_HoldAck(), Q932Pmes_HoldReject(), Q932Pmes_Register(), Q932Pmes_Retrieve(), Q932Pmes_RetrieveAck(), and Q932Pmes_RetrieveReject().

#define Q931_BRI_MAX_CRV   127

Definition at line 266 of file Q931.h.

Referenced by Q931GetUniqueCRV().

#define Q931_CODESET_ALL   0x07

Definition at line 566 of file Q931.h.

Referenced by Q931DialectAddCodeset().

#define Q931_IS_BRI (  )     ((x)->TrunkType == Q931_TrType_BRI || (x)->TrunkType == Q931_TrType_BRI_PTMP)

Definition at line 260 of file Q931.h.

Referenced by Q931GetUniqueCRV(), and Q931MesgHeader().

#define Q931_IS_PRI (  )     (!Q931_IS_BRI(x))

Definition at line 261 of file Q931.h.

#define Q931_IS_PTMP (  )     ((x)->TrunkType == Q931_TrType_BRI_PTMP)

Definition at line 264 of file Q931.h.

#define Q931_IS_PTP (  )     ((x)->TrunkType != Q931_TrType_BRI_PTMP)

Definition at line 263 of file Q931.h.

Referenced by Q931ProcSetupNT().

#define Q931_LOGBUFSIZE   1024

Definition at line 239 of file Q931.h.

Referenced by Q931Log().

#define Q931_PRI_MAX_CRV   32767

Definition at line 267 of file Q931.h.

Referenced by Q931GetUniqueCRV().

#define Q931GetIEOffset (  )     (x & 0x7fff)

Definition at line 961 of file Q931.h.

#define Q931GetIEPtr ( ie,
buf   )     ((void *)&buf[Q931GetIEOffset(ie)])

Definition at line 973 of file Q931.h.

Referenced by Q931ProcStatusTE().

#define Q931GetIETotSize ( ie   )     (((ie.InfoID & 0x80) != 0) ? 1 : ie.LenIE) + 2)

Definition at line 934 of file Q931.h.

#define Q931GetIEValue (  )     (x & 0x7fff)

Definition at line 962 of file Q931.h.

#define Q931IsIEPresent (  )     ((x & 0x8000) != 0)

Definition at line 945 of file Q931.h.

Referenced by Q931ProcStatusTE().

#define Q931L2BUF   300

Definition at line 243 of file Q931.h.

#define Q931L4BUF   1000

Definition at line 241 of file Q931.h.

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

#define Q931MAXCALLPERTRUNK   (Q931MAXCHPERTRUNK * 2)

Definition at line 254 of file Q931.h.

Referenced by Q931TimerTick().

#define Q931MAXCHPERTRUNK   32

Definition at line 249 of file Q931.h.

Referenced by Q931InitTrunk().

#define Q931MAXCODESETS   7

Definition at line 297 of file Q931.h.

#define Q931MAXDLCT   8

Definition at line 290 of file Q931.h.

Referenced by Q931DialectGet(), Q931DialectRegister(), and Q931DialectRegistryInit().

#define Q931MAXIE   255

Definition at line 295 of file Q931.h.

Referenced by Q931Pmes_Generic(), and Q931Umes_Generic().

#define Q931MAXMES   128

Definition at line 294 of file Q931.h.

#define Q931MAXSTATE   100

Definition at line 298 of file Q931.h.

Referenced by Q931DialectAddStateEntry(), and Q931DialectIsEventLegal().

#define Q931MAXTIMER   25

Definition at line 299 of file Q931.h.

Referenced by Q931DialectSetTimerProcAll().

#define Q931MAXTRUNKS   4

Definition at line 245 of file Q931.h.

#define Q931MAXUSEDIE   50

Definition at line 296 of file Q931.h.

#define Q931mes_ALERTING   0x01

Definition at line 308 of file Q931.h.

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

#define Q931mes_CALL_PROCEEDING   0x02

Definition at line 309 of file Q931.h.

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

#define Q931mes_CONGESTION_CONTROL   0x79

Definition at line 327 of file Q931.h.

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

#define Q931mes_CONNECT   0x07

Definition at line 310 of file Q931.h.

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

#define Q931mes_CONNECT_ACKNOWLEDGE   0x0f

Definition at line 311 of file Q931.h.

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

#define Q931mes_DISCONNECT   0x45

Definition at line 322 of file Q931.h.

Referenced by ATT5ESSCreateNT(), ATT5ESSCreateTE(), Q931CreateNT(), Q931CreateTE(), Q931ProcStatusTE(), Q931ProcTimeoutT304TE(), Q931ProcTimeoutT310TE(), and Q931ProcTimeoutT313TE().

#define Q931mes_FACILITY   0x62

Definition at line 333 of file Q931.h.

#define Q931mes_FACILITY_ACKNOWLEDGE   0x6a

Definition at line 339 of file Q931.h.

#define Q931mes_FACILITY_REJECT   0x72

Definition at line 340 of file Q931.h.

#define Q931mes_INFORMATION   0x7b

Definition at line 328 of file Q931.h.

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

#define Q931mes_NOTIFY   0x6e

Definition at line 329 of file Q931.h.

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

#define Q931mes_PROGRESS   0x03

Definition at line 312 of file Q931.h.

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

#define Q931mes_REGISTER   0x64

Definition at line 341 of file Q931.h.

#define Q931mes_RELEASE   0x4d

Definition at line 323 of file Q931.h.

Referenced by ATT5ESSCreateNT(), ATT5ESSCreateTE(), Q931CreateNT(), Q931CreateTE(), Q931ProcTimeoutT305TE(), Q931ProcTimeoutT308TE(), Q931ProcTimeoutT318TE(), Q931Release(), and Q931Rx23().

#define Q931mes_RELEASE_COMPLETE   0x5a

Definition at line 324 of file Q931.h.

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

#define Q931mes_RESTART   0x46

Definition at line 325 of file Q931.h.

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

#define Q931mes_RESTART_ACKNOWLEDGE   0x4e

Definition at line 326 of file Q931.h.

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

#define Q931mes_RESUME   0x26

Definition at line 315 of file Q931.h.

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

#define Q931mes_RESUME_ACKNOWLEDGE   0x2e

Definition at line 316 of file Q931.h.

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

#define Q931mes_RESUME_REJECT   0x22

Definition at line 317 of file Q931.h.

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

#define Q931mes_SEGMENT   0x60

Definition at line 332 of file Q931.h.

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

#define Q931mes_SERVICE   0x0f

Definition at line 336 of file Q931.h.

#define Q931mes_SERVICE_ACKNOWLEDGE   0x07

Definition at line 337 of file Q931.h.

Referenced by Q931AckService().

#define Q931mes_SETUP   0x05

Definition at line 313 of file Q931.h.

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

#define Q931mes_SETUP_ACKNOWLEDGE   0x0d

Definition at line 314 of file Q931.h.

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

#define Q931mes_STATUS   0x7d

Definition at line 330 of file Q931.h.

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

#define Q931mes_STATUS_ENQUIRY   0x75

Definition at line 331 of file Q931.h.

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

#define Q931mes_SUSPEND   0x25

Definition at line 318 of file Q931.h.

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

#define Q931mes_SUSPEND_ACKNOWLEDGE   0x2d

Definition at line 319 of file Q931.h.

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

#define Q931mes_SUSPEND_REJECT   0x21

Definition at line 320 of file Q931.h.

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

#define Q931mes_USER_INFORMATION   0x20

Definition at line 321 of file Q931.h.

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

#define Q931SetIE ( x,
 )     { x = (ie)(o) | 0x8000; }

Definition at line 984 of file Q931.h.

Referenced by Q931Uie_BearerCap(), Q931Uie_CalledNum(), Q931Uie_CalledSub(), Q931Uie_CallID(), Q931Uie_CallingNum(), Q931Uie_CallingSub(), Q931Uie_CallState(), Q931Uie_Cause(), Q931Uie_ChangeStatus(), Q931Uie_ChanID(), Q931Uie_CongLevel(), Q931Uie_DateTime(), Q931Uie_Display(), Q931Uie_GenericDigits(), Q931Uie_HLComp(), Q931Uie_KeypadFac(), Q931Uie_LLComp(), Q931Uie_NetFac(), Q931Uie_NotifInd(), Q931Uie_ProgInd(), Q931Uie_RepeatInd(), Q931Uie_RestartInd(), Q931Uie_RevChargeInd(), Q931Uie_Segment(), Q931Uie_SendComplete(), Q931Uie_Signal(), Q931Uie_TransNetSel(), and Q931Uie_UserUser().


Typedef Documentation

typedef L3USHORT ie

Definition at line 220 of file Q931.h.

typedef struct Q931_TrunkInfo Q931_TrunkInfo_t

Definition at line 677 of file Q931.h.

typedef L3INT(* Q931ErrorCB_t)(void *, L3INT, L3INT, L3INT)

Definition at line 798 of file Q931.h.

typedef L3INT(* Q931LogCB_t)(void *, Q931LogLevel_t, char *, L3INT)

Definition at line 799 of file Q931.h.

typedef L3INT( q931pie_func_t)(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *Octet)

Definition at line 903 of file Q931.h.

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

Definition at line 900 of file Q931.h.

typedef L3INT( q931proc_func_t)(Q931_TrunkInfo_t *pTrunk, L3UCHAR *, L3INT)

Definition at line 897 of file Q931.h.

typedef L3INT( q931timeout_func_t)(Q931_TrunkInfo_t *pTrunk, struct Q931_Call *call)

Definition at line 905 of file Q931.h.

typedef L3ULONG q931timer_t

Definition at line 906 of file Q931.h.

typedef L3INT(* Q931Tx32CB_t)(void *, L3INT, L3UCHAR, L3UCHAR *, L3INT)

Definition at line 797 of file Q931.h.

typedef L3INT(* Q931Tx34CB_t)(void *, L3UCHAR *, L3INT)

Definition at line 796 of file Q931.h.

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

Definition at line 902 of file Q931.h.

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

Definition at line 899 of file Q931.h.


Enumeration Type Documentation

anonymous enum

Q.931 Information Transfer Capability

Enumerator:
Q931_ITC_SPEECH 
Q931_ITC_UNRESTRICTED 
Q931_ITC_RESTRICTED 
Q931_ITC_3K1_AUDIO 
Q931_ITC_UNRESTRICTED_TONES 
Q931_ITC_VIDEO 

Definition at line 531 of file Q931.h.

anonymous enum

Q.931 Information transfer rate

Enumerator:
Q931_ITR_PACKET 
Q931_ITR_64K 
Q931_ITR_128K 
Q931_ITR_384K 
Q931_ITR_1536K 
Q931_ITR_1920K 
Q931_ITR_MULTI 

Definition at line 543 of file Q931.h.

anonymous enum

Q.931 Codesets

Enumerator:
Q931_CODESET_0 
Q931_CODESET_1 
Q931_CODESET_2 
Q931_CODESET_3 
Q931_CODESET_4 
Q931_CODESET_5 
Q931_CODESET_6 
Q931_CODESET_7 

Definition at line 556 of file Q931.h.

anonymous enum

Generic Q.931 Timers

Note:
hmm, probably private, depending on the event api
Enumerator:
Q931_TIMER_NONE 
Q931_TIMER_T300 
Q931_TIMER_T301 
Q931_TIMER_T302 
Q931_TIMER_T303 
Q931_TIMER_T304 
Q931_TIMER_T305 
Q931_TIMER_T306 
Q931_TIMER_T307 
Q931_TIMER_T308 
Q931_TIMER_T309 
Q931_TIMER_T310 
Q931_TIMER_T311 
Q931_TIMER_T312 
Q931_TIMER_T313 
Q931_TIMER_T314 
Q931_TIMER_T315 
Q931_TIMER_T316 
Q931_TIMER_T317 
Q931_TIMER_T318 
Q931_TIMER_T319 
Q931_TIMER_T320 
Q931_TIMER_T321 
Q931_TIMER_T322 

Definition at line 406 of file Q931.h.

anonymous enum

Q.931 ToN

Enumerator:
Q931_TON_UNKNOWN 
Q931_TON_INTERNATIONAL 
Q931_TON_NATIONAL 
Q931_TON_NETWORK_SPECIFIC 
Q931_TON_SUBSCRIBER_NUMBER 
Q931_TON_ABBREVIATED_NUMBER 
Q931_TON_RESERVED 

Definition at line 436 of file Q931.h.

anonymous enum

Q.931 Numbering Plan

Enumerator:
Q931_NUMPLAN_UNKNOWN 
Q931_NUMPLAN_E164 
Q931_NUMPLAN_X121 
Q931_NUMPLAN_F69 
Q931_NUMPLAN_NATIONAL 
Q931_NUMPLAN_PRIVATE 
Q931_NUMPLAN_RESERVED 

Definition at line 449 of file Q931.h.

anonymous enum

Q.931 Presentation Indicator

Enumerator:
Q931_PRES_ALLOWED 
Q931_PRES_RESTRICTED 
Q931_PRES_NOT_AVAILABLE 
Q931_PRES_RESERVED 

Definition at line 462 of file Q931.h.

anonymous enum

Q.931 Screening Indicator

Enumerator:
Q931_SCREEN_USER_NOT_SCREENED 
Q931_SCREEN_USER_VERIFIED_PASSED 
Q931_SCREEN_USER_VERIFIED_FAILED 
Q931_SCREEN_NETWORK 

Definition at line 472 of file Q931.h.

anonymous enum

Q.931 Coding Standard

Enumerator:
Q931_CODING_ITU 
Q931_CODING_ISO 
Q931_CODING_NATIONAL 
Q931_CODING_NETWORK 

Definition at line 482 of file Q931.h.

anonymous enum

Q.931 High layer characteristik id

Enumerator:
Q931_HLCHAR_TELEPHONY 
Q931_HLCHAR_FAX_G23 
Q931_HLCHAR_FAX_G4 
Q931_HLCHAR_FAX_G4II 
Q931_HLCHAR_T102 
Q931_HLCHAR_T101 
Q931_HLCHAR_F60 
Q931_HLCHAR_X400 
Q931_HLCHAR_X200 

Definition at line 492 of file Q931.h.

anonymous enum

Q.931 User information layer 1 protocol

Enumerator:
Q931_UIL1P_V110 
Q931_UIL1P_I460 
Q931_UIL1P_X30 
Q931_UIL1P_G711U 
Q931_UIL1P_G711A 
Q931_UIL1P_G721 
Q931_UIL1P_H221 
Q931_UIL1P_H242 
Q931_UIL1P_H223 
Q931_UIL1P_H245 
Q931_UIL1P_RATE_ADAP 
Q931_UIL1P_V120 
Q931_UIL1P_X31 

Definition at line 507 of file Q931.h.

enum Q931_ChanType_t

Channel type

Enumerator:
Q931_ChType_NotUsed  Unused Channel
Q931_ChType_B  B Channel (Voice)
Q931_ChType_D  D Channel (Signalling)
Q931_ChType_Sync  Sync Channel

Definition at line 737 of file Q931.h.

enum q931_error_t

Enumerator:
Q931E_NO_ERROR 
Q931E_UNKNOWN_MESSAGE 
Q931E_ILLEGAL_IE 
Q931E_UNKNOWN_IE 
Q931E_BEARERCAP 
Q931E_HLCOMP 
Q931E_LLCOMP 
Q931E_INTERNAL 
Q931E_MISSING_CB 
Q931E_UNEXPECTED_MESSAGE 
Q931E_ILLEGAL_MESSAGE 
Q931E_TOMANYCALLS 
Q931E_INVALID_CRV 
Q931E_CALLID 
Q931E_CALLSTATE 
Q931E_CALLEDSUB 
Q931E_CALLEDNUM 
Q931E_CALLINGNUM 
Q931E_CALLINGSUB 
Q931E_CAUSE 
Q931E_CHANID 
Q931E_DATETIME 
Q931E_DISPLAY 
Q931E_KEYPADFAC 
Q931E_NETFAC 
Q931E_NOTIFIND 
Q931E_PROGIND 
Q931E_RESTARTIND 
Q931E_SEGMENT 
Q931E_SIGNAL 
Q931E_GENERIC_DIGITS 
Q931E_MANDATORY_IE_MISSING 
Q931E_UNRECOGNIZED_MESSAGE 

Definition at line 150 of file Q931.h.

enum Q931_TrunkState_t

Trunk state

Enumerator:
Q931_TrState_NoAlignment  Trunk not aligned
Q931_TrState_Aligning  Aligning in progress
Q931_TrState_Aligned  Trunk Aligned

Definition at line 728 of file Q931.h.

enum Q931_TrunkType_t

Trunk line type

Enumerator:
Q931_TrType_E1  0 : E1 Trunk
Q931_TrType_T1  1 : T1 Trunk
Q931_TrType_J1  2 : J1 Trunk
Q931_TrType_BRI  3 : BRI Trunk
Q931_TrType_BRI_PTMP  4 : BRI PTMP Trunk

Definition at line 717 of file Q931.h.

enum Q931Dialect_t

Enumerator:
Q931_Dialect_Q931 
Q931_Dialect_National 
Q931_Dialect_DMS 
Q931_Dialect_5ESS 
Q931_Dialect_DSS1  DSS1 (aka EuroISDN)
Q931_Dialect_Count 

Definition at line 702 of file Q931.h.

enum Q931LogLevel_t

Loglevel

Enumerator:
Q931_LOG_NONE 
Q931_LOG_EMERG 
Q931_LOG_ALERT 
Q931_LOG_CRIT 
Q931_LOG_ERROR 
Q931_LOG_WARNING 
Q931_LOG_NOTICE 
Q931_LOG_INFO 
Q931_LOG_DEBUG 

Definition at line 682 of file Q931.h.

enum Q931NetUser_t

Network/User mode

Enumerator:
Q931_TE  0 : User Mode
Q931_NT  1 : Network Mode

Definition at line 697 of file Q931.h.


Function Documentation

const char* q931_error_to_name ( q931_error_t  error  ) 

Definition at line 804 of file Q931.c.

References Q931_MAX_ERROR.

L3INT Q931AckConnect ( struct Q931_Call call  ) 

Definition at line 655 of file Q931api.c.

References Q931mes_Generic::CRVFlag, L3UCHAR, Q931mes_Generic::MesType, Q931CallGetTrunk(), Q931CallIsOutgoing(), Q931InitMesGeneric(), Q931L4BUF, Q931mes_CONNECT_ACKNOWLEDGE, and Q931Send().

Referenced by Q931ProcConnectTE().

L3INT Q931AckRestart ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  buf 
)

Definition at line 613 of file Q931api.c.

References Q931ie_RestartInd::Class, Q931mes_Generic::CRVFlag, Q931ie_RestartInd::IEId, L3INT, L3UCHAR, Q931mes_Generic::MesType, Q931AppendIE(), Q931ie_RESTART_INDICATOR, Q931L4HeaderSpace, Q931mes_RESTART_ACKNOWLEDGE, Q931Proc(), and Q931mes_Generic::RestartInd.

Referenced by Q931ProcRestartNT(), and Q931ProcRestartTE().

L3INT Q931AckService ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  buf 
)

Definition at line 670 of file Q931api.c.

References Q931mes_Header::CRV, Q931mes_Header::CRVFlag, L3INT, Q931mes_Header::MesType, Q931L4HeaderSpace, Q931mes_SERVICE_ACKNOWLEDGE, and Q931Proc().

L3INT Q931AckSetup ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  buf 
)

Definition at line 635 of file Q931api.c.

References L3INT, Q931mes_Header::MesType, Q931L4HeaderSpace, Q931mes_SETUP_ACKNOWLEDGE, and Q931Proc().

Referenced by Q931ProcSetupNT(), and Q931ProcSetupTE().

ie Q931AppendIE ( L3UCHAR *  pm,
L3UCHAR *  pi 
)

Definition at line 169 of file Q931api.c.

References Q931mes_Generic::buf, L3INT, and Q931mes_Generic::Size.

Referenced by Q931AckRestart(), Q931CallSendStatus(), Q931ProcStatusTE(), Q931ProcTimeoutT304TE(), Q931ProcTimeoutT305TE(), Q931ProcTimeoutT308TE(), Q931ProcTimeoutT310TE(), Q931ProcTimeoutT313TE(), Q931ProcTimeoutT318TE(), Q931Release(), Q931ReleaseComplete(), Q931Start(), and Q931StatusEnquiryResponse().

L3INT Q931CallSendStatus ( const struct Q931_Call call,
const L3UCHAR  causeval 
)

Send STATUS message with cause code.

Q931CallSendStatus

Parameters:
[in] call Q.931 call handle
[in] causeval Q.850 cause code
Returns:
>= 0 on success, < 0 on error
Note:
Let's see... this is how the L4 api stuff is supposed to look (custom IEs missing here)
Todo:
Naming s*cks a bit... (maybe use a new prefix (instead of "Q931Call") for layer4 call control related stuff)

Definition at line 576 of file Q931api.c.

References Q931ie_CallState::CallState, Q931mes_Generic::Cause, Q931ie_CallState::CodStand, Q931ie_Cause::CodStand, Q931mes_Generic::CRVFlag, Q931ie_Cause::Diag, Q931ie_CallState::IEId, Q931ie_Cause::IEId, L3UCHAR, Q931ie_Cause::Location, Q931mes_Generic::MesType, Q931_CODING_ITU, Q931AppendIE(), Q931CallGetState(), Q931CallGetTrunk(), Q931CallIsOutgoing(), Q931ie_CALL_STATE, Q931ie_CAUSE, Q931InitMesGeneric(), Q931L4BUF, Q931L4HeaderSpace, Q931mes_STATUS, Q931Tx32Data(), Q931ie_Cause::Recom, Q931ie_CallState::Size, Q931ie_Cause::Size, and Q931ie_Cause::Value.

L3INT Q931Disconnect ( Q931_TrunkInfo_t pTrunk,
L3INT  iTo,
L3INT  iCRV,
L3INT  iCause 
)

Definition at line 470 of file Q931api.c.

Referenced by Q931ProcSetupNT(), Q931ProcSetupTE(), and Q931Rx23().

L3INT Q931GetMesSize ( Q931mes_Generic pMes  ) 

Definition at line 152 of file Q931api.c.

References Q931mes_Generic::buf, L3INT, and L3UCHAR.

Referenced by Q931InitMesGeneric(), Q931InitMesRestartAck(), and Q931InitMesResume().

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().

L3INT Q931InitIEBearerCap ( Q931ie_BearerCap p  ) 

Definition at line 232 of file Q931api.c.

References Q931ie_BearerCap::AL3Info1, Q931ie_BearerCap::AL3Info2, Q931ie_BearerCap::Assignor, Q931ie_BearerCap::CodStand, Q931ie_BearerCap::DuplexMode, Q931ie_BearerCap::FlowCtlRx, Q931ie_BearerCap::FlowCtlTx, Q931ie_BearerCap::HDR, Q931ie_BearerCap::IEId, Q931ie_BearerCap::InBandNeg, Q931ie_BearerCap::InterRate, Q931ie_BearerCap::ITC, Q931ie_BearerCap::ITR, Q931ie_BearerCap::Layer1Ident, Q931ie_BearerCap::Layer2Ident, Q931ie_BearerCap::Layer3Ident, Q931ie_BearerCap::LLInegot, Q931ie_BearerCap::Mode, Q931ie_BearerCap::ModemType, Q931ie_BearerCap::MultiFrame, Q931ie_BearerCap::Negot, Q931ie_BearerCap::NIConRx, Q931ie_BearerCap::NIConTx, Q931ie_BearerCap::NumDataBits, Q931ie_BearerCap::NumStopBits, Q931ie_BearerCap::Parity, Q931ie_BEARER_CAPABILITY, Q931ie_BearerCap::RateMul, Q931ie_BearerCap::Size, Q931ie_BearerCap::SyncAsync, Q931ie_BearerCap::TransMode, Q931ie_BearerCap::UIL1Prot, Q931ie_BearerCap::UIL2Prot, Q931ie_BearerCap::UIL3Prot, and Q931ie_BearerCap::UserRate.

L3INT Q931InitIECalledNum ( Q931ie_CalledNum pIE  ) 

Definition at line 379 of file Q931api.c.

References Q931ie_CalledNum::Digit, Q931ie_CalledNum::IEId, Q931ie_CalledNum::NumPlanID, Q931ie_CALLED_PARTY_NUMBER, Q931ie_CalledNum::Size, and Q931ie_CalledNum::TypNum.

L3INT Q931InitIECalledSub ( Q931ie_CalledSub pIE  ) 

Definition at line 390 of file Q931api.c.

References Q931ie_CalledSub::Digit, Q931ie_CalledSub::IEId, Q931ie_CalledSub::OddEvenInd, Q931ie_CALLED_PARTY_SUBADDRESS, Q931ie_CalledSub::Size, and Q931ie_CalledSub::TypNum.

L3INT Q931InitIECallingNum ( Q931ie_CallingNum pIE  ) 

Definition at line 355 of file Q931api.c.

References Q931ie_CallingNum::Digit, Q931ie_CallingNum::IEId, Q931ie_CallingNum::NumPlanID, Q931ie_CallingNum::PresInd, Q931ie_CALLING_PARTY_NUMBER, Q931ie_CallingNum::ScreenInd, Q931ie_CallingNum::Size, and Q931ie_CallingNum::TypNum.

L3INT Q931InitIECallingSub ( Q931ie_CallingSub pIE  ) 

Definition at line 368 of file Q931api.c.

References Q931ie_CallingSub::Digit, Q931ie_CallingSub::IEId, Q931ie_CallingSub::OddEvenInd, Q931ie_CALLING_PARTY_SUBADDRESS, Q931ie_CallingSub::Size, and Q931ie_CallingSub::TypNum.

L3INT Q931InitIEChanID ( Q931ie_ChanID p  ) 

Definition at line 272 of file Q931api.c.

References Q931ie_ChanID::ChanMapType, Q931ie_ChanID::ChanSlot, Q931ie_ChanID::CodStand, Q931ie_ChanID::DChanInd, Q931ie_ChanID::IEId, Q931ie_ChanID::InfoChanSel, Q931ie_ChanID::InterfaceID, Q931ie_ChanID::IntIDPresent, Q931ie_ChanID::IntType, Q931ie_ChanID::NumMap, Q931ie_ChanID::PrefExcl, Q931ie_CHANNEL_IDENTIFICATION, and Q931ie_ChanID::Size.

L3INT Q931InitIEDateTime ( Q931ie_DateTime pIE  ) 

Definition at line 323 of file Q931api.c.

References Q931ie_DateTime::Day, Q931ie_DateTime::Hour, Q931ie_DateTime::IEId, Q931ie_DateTime::Minute, Q931ie_DateTime::Month, Q931ie_DATETIME, Q931ie_DateTime::Second, Q931ie_DateTime::Size, and Q931ie_DateTime::Year.

L3INT Q931InitIEDisplay ( Q931ie_Display pIE  ) 

Definition at line 314 of file Q931api.c.

References Q931ie_Display::Display, Q931ie_Display::IEId, Q931ie_DISPLAY, and Q931ie_Display::Size.

L3INT Q931InitIEHLComp ( Q931ie_HLComp pIE  ) 

Definition at line 462 of file Q931api.c.

References Q931ie_HLComp::IEId, Q931ie_HIGH_LAYER_COMPATIBILITY, and Q931ie_HLComp::Size.

L3INT Q931InitIEKeypadFac ( Q931ie_KeypadFac pIE  ) 

Definition at line 337 of file Q931api.c.

References Q931ie_KeypadFac::IEId, Q931ie_KeypadFac::KeypadFac, Q931ie_KEYPAD_FACILITY, and Q931ie_KeypadFac::Size.

L3INT Q931InitIELLComp ( Q931ie_LLComp pIE  ) 

Definition at line 412 of file Q931api.c.

References Q931ie_LLComp::AddL3Info, Q931ie_LLComp::Assignor, Q931ie_LLComp::CodStand, Q931ie_LLComp::DefPackSize, Q931ie_LLComp::DuplexMode, Q931ie_LLComp::FlowCtlRx, Q931ie_LLComp::FlowCtlTx, Q931ie_LLComp::HDR, Q931ie_LLComp::IEId, Q931ie_LLComp::InBandNeg, Q931ie_LLComp::InfoRate, Q931ie_LLComp::InterRate, Q931ie_LLComp::ITransCap, Q931ie_LLComp::Layer1Ident, Q931ie_LLComp::Layer2Ident, Q931ie_LLComp::Layer3Ident, Q931ie_LLComp::ModeL1, Q931ie_LLComp::ModeL2, Q931ie_LLComp::ModeL3, Q931ie_LLComp::ModemType, Q931ie_LLComp::MultiFrame, Q931ie_LLComp::Negot, Q931ie_LLComp::NegotInd, Q931ie_LLComp::NegotLLI, Q931ie_LLComp::NIConRx, Q931ie_LLComp::NIConTx, Q931ie_LLComp::NumDataBits, Q931ie_LLComp::NumStopBits, Q931ie_LLComp::OptL3Info, Q931ie_LLComp::PackWinSize, Q931ie_LLComp::Parity, Q931ie_LOW_LAYER_COMPATIBILITY, Q931ie_LLComp::Q933use, Q931ie_LLComp::RateMul, Q931ie_LLComp::Size, Q931ie_LLComp::SyncAsync, Q931ie_LLComp::TransMode, Q931ie_LLComp::UIL1Prot, Q931ie_LLComp::UIL2Prot, Q931ie_LLComp::UserRate, Q931ie_LLComp::UsrSpcL2Prot, and Q931ie_LLComp::WindowSize.

L3INT Q931InitIENetFac ( Q931ie_NetFac pIE  ) 

Definition at line 301 of file Q931api.c.

References Q931ie_NetFac::IEId, Q931ie_NetFac::LenNetID, Q931ie_NetFac::NetFac, Q931ie_NetFac::NetID, Q931ie_NetFac::NetIDPlan, Q931ie_NETWORK_SPECIFIC_FACILITIES, Q931ie_NetFac::Size, and Q931ie_NetFac::TypeNetID.

L3INT Q931InitIEProgInd ( Q931ie_ProgInd p  ) 

Definition at line 290 of file Q931api.c.

References Q931ie_ProgInd::CodStand, Q931ie_ProgInd::IEId, Q931ie_ProgInd::Location, Q931ie_ProgInd::ProgDesc, Q931ie_PROGRESS_INDICATOR, and Q931ie_ProgInd::Size.

L3INT Q931InitIESignal ( Q931ie_Signal pIE  ) 

Definition at line 346 of file Q931api.c.

References Q931ie_Signal::IEId, Q931ie_SIGNAL, Q931ie_Signal::Signal, and Q931ie_Signal::Size.

L3INT Q931InitIETransNetSel ( Q931ie_TransNetSel pIE  ) 

Definition at line 401 of file Q931api.c.

References Q931ie_TransNetSel::IEId, Q931ie_TransNetSel::NetID, Q931ie_TransNetSel::NetIDPlan, Q931ie_TRANSIT_NETWORK_SELECTION, Q931ie_TransNetSel::Size, and Q931ie_TransNetSel::Type.

L3INT Q931InitMesGeneric ( Q931mes_Generic pMes  ) 

Definition at line 198 of file Q931api.c.

References Q931mes_Generic::ProtDisc, Q931GetMesSize(), and Q931mes_Generic::Size.

Referenced by Q931AckConnect(), Q931CallSendStatus(), Q931ProcStatusTE(), Q931ProcTimeoutT304TE(), Q931ProcTimeoutT305TE(), Q931ProcTimeoutT308TE(), Q931ProcTimeoutT310TE(), Q931ProcTimeoutT313TE(), Q931ProcTimeoutT318TE(), Q931Release(), Q931ReleaseComplete(), Q931Rx23(), Q931Start(), and Q931StatusEnquiryResponse().

L3INT Q931InitMesRestartAck ( Q931mes_Generic pMes  ) 

Definition at line 218 of file Q931api.c.

References Q931mes_Generic::ChanID, Q931mes_Generic::CRV, Q931mes_Generic::Display, Q931mes_Generic::MesType, Q931mes_Generic::ProtDisc, Q931GetMesSize(), Q931mes_RESTART_ACKNOWLEDGE, Q931mes_Generic::RestartInd, Q931mes_Generic::RestartWin, and Q931mes_Generic::Size.

L3INT Q931InitMesResume ( Q931mes_Generic pMes  ) 

Definition at line 207 of file Q931api.c.

References Q931mes_Generic::CallID, Q931mes_Generic::CRV, Q931mes_Generic::MesType, Q931mes_Generic::ProtDisc, Q931GetMesSize(), Q931mes_RESUME, and Q931mes_Generic::Size.

L3INT Q931InitMesSetup ( Q931mes_Generic p  ) 

L3INT Q931InitTrunk ( Q931_TrunkInfo_t pTrunk,
Q931Dialect_t  Dialect,
Q931NetUser_t  NetUser,
Q931_TrunkType_t  TrunkType,
Q931Tx34CB_t  Q931Tx34CBProc,
Q931Tx32CB_t  Q931Tx32CBProc,
Q931ErrorCB_t  Q931ErrorCBProc,
void *  PrivateData32,
void *  PrivateData34 
)

Definition at line 44 of file Q931api.c.

References Q931_TrunkInfo::_charray::Available, Q931_TrunkInfo::call, Q931_TrunkInfo::ch, Q931_TrunkInfo::_charray::ChanType, Q931_TrunkInfo::Dialect, Q931_TrunkInfo::Enabled, Q931_Call::InUse, Q931_TrunkInfo::LastCRV, Q931_TrunkInfo::NetUser, Q931_TrunkInfo::PrivateData32, Q931_TrunkInfo::PrivateData34, Q931_ChType_B, Q931_ChType_D, Q931_ChType_NotUsed, Q931_ChType_Sync, Q931_TrType_BRI, Q931_TrType_BRI_PTMP, Q931_TrType_E1, Q931_TrType_J1, Q931_TrType_T1, Q931DialectGet(), Q931_TrunkInfo::Q931ErrorCBProc, Q931MAXCHPERTRUNK, Q931_TrunkInfo::Q931Tx32CBProc, Q931_TrunkInfo::Q931Tx34CBProc, Q931_Call::Trunk, Q931_TrunkInfo::TrunkState, and Q931_TrunkInfo::TrunkType.

L3INT Q931Release ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  buf,
struct Q931_Call call,
L3UCHAR  causeval 
)

Definition at line 481 of file Q931api.c.

References Q931mes_Generic::Cause, Q931ie_Cause::CodStand, Q931mes_Generic::CRV, Q931mes_Generic::CRVFlag, Q931ie_Cause::Diag, Q931ie_Cause::IEId, L3UCHAR, Q931ie_Cause::Location, Q931mes_Generic::MesType, Q931_CODING_ITU, Q931_DIRECTION_INBOUND, Q931AppendIE(), Q931CallGetCRV(), Q931CallGetDirection(), Q931ie_CAUSE, Q931InitMesGeneric(), Q931L4HeaderSpace, Q931mes_RELEASE, Q931Tx32Data(), Q931ie_Cause::Recom, Q931mes_Generic::Size, Q931ie_Cause::Size, and Q931ie_Cause::Value.

L3INT Q931ReleaseComplete ( Q931_TrunkInfo_t pTrunk,
L3UCHAR *  buf,
struct Q931_Call call,
L3UCHAR  causeval 
)

Definition at line 507 of file Q931api.c.

References Q931mes_Generic::Cause, Q931ie_Cause::CodStand, Q931mes_Generic::CRV, Q931mes_Generic::CRVFlag, Q931ie_Cause::Diag, Q931ie_Cause::IEId, L3UCHAR, Q931ie_Cause::Location, Q931mes_Generic::MesType, Q931_CODING_ITU, Q931_DIRECTION_INBOUND, Q931AppendIE(), Q931CallGetCRV(), Q931CallGetDirection(), Q931ie_CAUSE, Q931InitMesGeneric(), Q931L4HeaderSpace, Q931mes_RELEASE_COMPLETE, Q931Tx32Data(), Q931ie_Cause::Recom, Q931mes_Generic::Size, Q931ie_Cause::Size, and Q931ie_Cause::Value.

Referenced by Q931ProcReleaseCompleteTE(), Q931ProcReleaseNT(), and Q931ProcReleaseTE().

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 *  Mes,
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 *  Mes,
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 Q931Start ( Q931_TrunkInfo_t trunk  ) 

Start Q.931 Trunk (Send RESTART).

Definition at line 130 of file Q931api.c.

References Q931ie_RestartInd::Class, Q931mes_Generic::CRV, Q931ie_RestartInd::IEId, L3UCHAR, Q931mes_Generic::MesType, Q931_LOG_NOTICE, Q931AppendIE(), Q931ie_RESTART_INDICATOR, Q931InitMesGeneric(), Q931L4BUF, Q931L4HeaderSpace, Q931Log(), Q931mes_RESTART, Q931Proc(), Q931mes_Generic::RestartInd, and Q931ie_RestartInd::Size.

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.

L3BOOL Q931TrunkGetAutoConnectAck ( Q931_TrunkInfo_t trunk  ) 

L3BOOL Q931TrunkGetAutoRestartAck ( Q931_TrunkInfo_t trunk  ) 

L3BOOL Q931TrunkGetAutoServiceAck ( Q931_TrunkInfo_t trunk  ) 

L3BOOL Q931TrunkGetAutoSetupAck ( Q931_TrunkInfo_t trunk  ) 

L3BOOL Q931TrunkGetIgnoreIllegalIEs ( Q931_TrunkInfo_t trunk  ) 

L3BOOL Q931TrunkGetIgnoreUnknownIEs ( Q931_TrunkInfo_t trunk  ) 

L3BOOL Q931TrunkGetIgnoreUnknownMsg ( Q931_TrunkInfo_t trunk  ) 

L3BOOL Q931TrunkGetStatusEnquiry ( Q931_TrunkInfo_t trunk  ) 

Referenced by Q931Rx23().

void Q931TrunkSetAutoConnectAck ( Q931_TrunkInfo_t trunk,
L3BOOL  enable 
)

void Q931TrunkSetAutoRestartAck ( Q931_TrunkInfo_t trunk,
L3BOOL  enable 
)

void Q931TrunkSetAutoServiceAck ( Q931_TrunkInfo_t trunk,
L3BOOL  enable 
)

void Q931TrunkSetAutoSetupAck ( Q931_TrunkInfo_t trunk,
L3BOOL  enable 
)

void Q931TrunkSetIgnoreIllegalIEs ( Q931_TrunkInfo_t trunk,
L3BOOL  enable 
)

void Q931TrunkSetIgnoreUnknownIEs ( Q931_TrunkInfo_t trunk,
L3BOOL  enable 
)

void Q931TrunkSetIgnoreUnknownMsg ( Q931_TrunkInfo_t trunk,
L3BOOL  enable 
)

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().

void Q931TrunkSetStatusEnquiry ( Q931_TrunkInfo_t trunk,
L3BOOL  enable 
)

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().


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