libisdn
|
00001 /***************************************************************************** 00002 00003 FileName: Q932.h 00004 00005 Contents: Header w/structs for Q932 Suplementary Services. 00006 00007 NB: Do NOT include this header directly, include Q931.h 00008 00009 License/Copyright: 00010 00011 Copyright (c) 2007, Jan Vidar Berger, Case Labs, Ltd. All rights reserved. 00012 email:janvb@caselaboratories.com 00013 00014 Redistribution and use in source and binary forms, with or without 00015 modification, are permitted provided that the following conditions are 00016 met: 00017 00018 * Redistributions of source code must retain the above copyright notice, 00019 this list of conditions and the following disclaimer. 00020 * Redistributions in binary form must reproduce the above copyright notice, 00021 this list of conditions and the following disclaimer in the documentation 00022 and/or other materials provided with the distribution. 00023 * Neither the name of the Case Labs, Ltd nor the names of its contributors 00024 may be used to endorse or promote products derived from this software 00025 without specific prior written permission. 00026 00027 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00028 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00029 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00030 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00031 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00032 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00033 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00034 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00035 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00036 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00037 POSSIBILITY OF SUCH DAMAGE. 00038 *****************************************************************************/ 00039 00040 /***************************************************************************** 00041 Q.932 Additional Message codes 00042 *****************************************************************************/ 00043 00044 #define Q932mes_HOLD 0x24 /* 0010 0100 */ 00045 #define Q932mes_HOLD_ACKNOWLEDGE 0x28 /* 0010 1000 */ 00046 #define Q932mes_HOLD_REJECT 0x30 /* 0011 0000 */ 00047 #define Q932mes_RETRIEVE 0x31 /* 0011 0001 */ 00048 #define Q932mes_RETRIEVE_ACKNOWLEDGE 0x33 /* 0011 0011 */ 00049 #define Q932mes_RETRIEVE_REJECT 0x37 /* 0011 0111 */ 00050 #define Q932mes_FACILITY 0x62 /* 0110 0010 */ 00051 #define Q932mes_REGISTER 0x64 /* 0110 0100 */ 00052 00053 /***************************************************************************** 00054 Q.932 Additional EI Codes 00055 *****************************************************************************/ 00056 #define Q932ie_FACILITY 0x1c /* 0001 1100 */ 00057 00058 /***************************************************************************** 00059 Function Prototypes. 00060 *****************************************************************************/ 00061 L3INT Q932ProcFacilityTE(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00062 L3INT Q932ProcHoldTE(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00063 L3INT Q932ProcHoldAckTE(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00064 L3INT Q932ProcHoldRejectTE(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00065 L3INT Q932ProcRegisterTE(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00066 L3INT Q932ProcRetrieveTE(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00067 L3INT Q932ProcRetrieveAckTE(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00068 L3INT Q932ProcRetrieveRejectTE(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00069 00070 L3INT Q932ProcFacilityNT(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00071 L3INT Q932ProcHoldNT(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00072 L3INT Q932ProcHoldAckNT(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00073 L3INT Q932ProcHoldRejectNT(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00074 L3INT Q932ProcRegisterNT(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00075 L3INT Q932ProcRetrieveNT(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00076 L3INT Q932ProcRetrieveAckNT(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00077 L3INT Q932ProcRetrieveRejectNT(Q931_TrunkInfo_t *trunk, struct Q931_Call *call, Q931mes_Generic *msg, q931_msg_from_t from); 00078 00079 L3INT Q932Pmes_Facility(Q931_TrunkInfo_t *trunk, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize); 00080 L3INT Q932Pmes_Hold(Q931_TrunkInfo_t *trunk, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize); 00081 L3INT Q932Pmes_HoldAck(Q931_TrunkInfo_t *trunk, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize); 00082 L3INT Q932Pmes_HoldReject(Q931_TrunkInfo_t *trunk, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize); 00083 L3INT Q932Pmes_Register(Q931_TrunkInfo_t *trunk, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize); 00084 L3INT Q932Pmes_Retrieve(Q931_TrunkInfo_t *trunk, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize); 00085 L3INT Q932Pmes_RetrieveAck(Q931_TrunkInfo_t *trunk, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize); 00086 L3INT Q932Pmes_RetrieveReject(Q931_TrunkInfo_t *trunk, Q931mes_Generic *IBuf, L3INT ISize, L3UCHAR *OBuf, L3INT *OSize); 00087 00088 L3INT Q932Umes_Facility(Q931_TrunkInfo_t *trunk, L3UCHAR *IBuf, Q931mes_Generic * OBuf, L3INT I, L3INT O, struct Q931MesgErrors *Errs); 00089 L3INT Q932Umes_Hold(Q931_TrunkInfo_t *trunk, L3UCHAR *IBuf, Q931mes_Generic * OBuf, L3INT I, L3INT O, struct Q931MesgErrors *Errs); 00090 L3INT Q932Umes_HoldAck(Q931_TrunkInfo_t *trunk, L3UCHAR *IBuf, Q931mes_Generic * OBuf, L3INT I, L3INT O, struct Q931MesgErrors *Errs); 00091 L3INT Q932Umes_HoldReject(Q931_TrunkInfo_t *trunk, L3UCHAR *IBuf, Q931mes_Generic * OBuf, L3INT I, L3INT O, struct Q931MesgErrors *Errs); 00092 L3INT Q932Umes_Register(Q931_TrunkInfo_t *trunk, L3UCHAR *IBuf, Q931mes_Generic * OBuf, L3INT I, L3INT O, struct Q931MesgErrors *Errs); 00093 L3INT Q932Umes_Retrieve(Q931_TrunkInfo_t *trunk, L3UCHAR *IBuf, Q931mes_Generic * OBuf, L3INT I, L3INT O, struct Q931MesgErrors *Errs); 00094 L3INT Q932Umes_RetrieveAck(Q931_TrunkInfo_t *trunk, L3UCHAR *IBuf, Q931mes_Generic * OBuf, L3INT I, L3INT O, struct Q931MesgErrors *Errs); 00095 L3INT Q932Umes_RetrieveReject(Q931_TrunkInfo_t *trunk, L3UCHAR *IBuf, Q931mes_Generic * OBuf, L3INT I, L3INT O, struct Q931MesgErrors *Errs);