libisdn
Q931api.c File Reference
#include <stdlib.h>
#include <string.h>
#include "Q931.h"
#include "Q931priv.h"

Go to the source code of this file.

Functions

Q931_API L3INT Q931InitTrunk (Q931_TrunkInfo_t *trunk, Q931Dialect_t Dialect, Q931NetUser_t NetUser, Q931_TrunkType_t TrunkType, Q931Tx34CB_t Q931Tx34CBProc, Q931Tx32CB_t Q931Tx32CBProc, Q931ErrorCB_t Q931ErrorCBProc, void *PrivateData32, void *PrivateData34)
Q931_API L3INT Q931Start (Q931_TrunkInfo_t *trunk)
 Start Q.931 Trunk (Send RESTART)
L3INT Q931GetMesSize (Q931mes_Generic *msg)
Q931_API ie Q931AppendIE (Q931mes_Generic *msg, L3UCHAR *pi)
L3INT Q931GetUniqueCRV (Q931_TrunkInfo_t *trunk)
Q931_API L3INT Q931InitMesGeneric (Q931mes_Generic *msg)
Q931_API L3INT Q931InitMesResume (Q931mes_Generic *msg)
Q931_API L3INT Q931InitMesRestartAck (Q931mes_Generic *msg)
Q931_API L3INT Q931InitIEBearerCap (Q931ie_BearerCap *ie)
Q931_API L3INT Q931InitIEChanID (Q931ie_ChanID *ie)
Q931_API L3INT Q931InitIEProgInd (Q931ie_ProgInd *ie)
Q931_API L3INT Q931InitIENetFac (Q931ie_NetFac *ie)
Q931_API L3INT Q931InitIEDisplay (Q931ie_Display *ie)
Q931_API L3INT Q931InitIEDateTime (Q931ie_DateTime *ie)
Q931_API L3INT Q931InitIEKeypadFac (Q931ie_KeypadFac *ie)
Q931_API L3INT Q931InitIESignal (Q931ie_Signal *ie)
Q931_API L3INT Q931InitIECallingNum (Q931ie_CallingNum *ie)
Q931_API L3INT Q931InitIECallingSub (Q931ie_CallingSub *ie)
Q931_API L3INT Q931InitIECalledNum (Q931ie_CalledNum *ie)
Q931_API L3INT Q931InitIECalledSub (Q931ie_CalledSub *ie)
Q931_API L3INT Q931InitIETransNetSel (Q931ie_TransNetSel *ie)
Q931_API L3INT Q931InitIELLComp (Q931ie_LLComp *ie)
Q931_API L3INT Q931InitIEHLComp (Q931ie_HLComp *ie)
L3INT Q931Disconnect (Q931_TrunkInfo_t *trunk, L3INT iTo, L3INT iCRV, L3INT iCause)
L3INT Q931Release (Q931_TrunkInfo_t *trunk, struct Q931_Call *call, L3UCHAR causeval)
L3INT Q931ReleaseComplete (Q931_TrunkInfo_t *trunk, struct Q931_Call *call, L3UCHAR causeval)
L3INT Q931StatusEnquiryResponse (Q931_TrunkInfo_t *trunk, struct Q931_Call *call, L3UCHAR causeval)
L3INT Q931CallSendStatus (const struct Q931_Call *call, const L3UCHAR causeval)
 Send STATUS message with cause code.
L3INT Q931AckRestart (Q931_TrunkInfo_t *trunk, Q931mes_Generic *msg)
L3INT Q931AckSetup (Q931_TrunkInfo_t *trunk, Q931mes_Generic *msg)
L3INT Q931Send (struct Q931_Call *call, Q931mes_Generic *msg, L3INT bcast)
L3INT Q931AckConnect (struct Q931_Call *call)
L3INT Q931AckService (Q931_TrunkInfo_t *trunk, Q931mes_Generic *msg)

Variables

L3INT Q931L4HeaderSpace

Function Documentation

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

Send STATUS message with cause code.

Q931CallSendStatus

Parameters:
[in]callQ.931 call handle
[in]causevalQ.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 464 of file Q931api.c.

References Q931ie_CallState::CallState, Q931mes_Generic::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, Q931mes_STATUS, Q931Tx32(), Q931ie_Cause::Recom, Q931ie_CallState::Size, Q931ie_Cause::Size, Q931mes_Generic::Size, and Q931ie_Cause::Value.

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

Definition at line 357 of file Q931api.c.

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

L3INT Q931Send ( struct Q931_Call call,
Q931mes_Generic msg,
L3INT  bcast 
)

Definition at line 528 of file Q931api.c.

References Q931CallGetTrunk(), Q931Tx32(), and Q931mes_Generic::Size.


Variable Documentation

Definition at line 55 of file Q931.c.