trunk             141 src/isdn/Q921.c static int Q921SendEnquiry(L2TRUNK trunk, L2UCHAR tei)
trunk             143 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             148 src/isdn/Q921.c 		Q921SendRNR(trunk, trunk->sapi, Q921_COMMAND(trunk), tei, 1);
trunk             151 src/isdn/Q921.c 		Q921SendRR(trunk, trunk->sapi, Q921_COMMAND(trunk), tei, 1);
trunk             158 src/isdn/Q921.c 	Q921T200TimerReset(trunk, tei);
trunk             167 src/isdn/Q921.c static int Q921SendEnquiryResponse(L2TRUNK trunk, L2UCHAR tei)
trunk             169 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             174 src/isdn/Q921.c 		Q921SendRNR(trunk, trunk->sapi, Q921_RESPONSE(trunk), tei, 1);
trunk             177 src/isdn/Q921.c 		Q921SendRR(trunk, trunk->sapi, Q921_RESPONSE(trunk), tei, 1);
trunk             193 src/isdn/Q921.c static void Q921ResetExceptionConditions(L2TRUNK trunk, L2UCHAR tei)
trunk             195 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             219 src/isdn/Q921.c static int Q921EstablishDataLink(L2TRUNK trunk, L2UCHAR tei)
trunk             221 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             224 src/isdn/Q921.c 	Q921ResetExceptionConditions(trunk, tei);
trunk             230 src/isdn/Q921.c 	Q921SendSABME(trunk, trunk->sapi, Q921_COMMAND(trunk), tei, 1);
trunk             233 src/isdn/Q921.c 	Q921T200TimerReset(trunk, tei);
trunk             234 src/isdn/Q921.c 	Q921T203TimerStop(trunk, tei);
trunk             246 src/isdn/Q921.c static int Q921NrErrorRecovery(L2TRUNK trunk, L2UCHAR tei)
trunk             248 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             253 src/isdn/Q921.c 	Q921EstablishDataLink(trunk, tei);
trunk             270 src/isdn/Q921.c static int Q921InvokeRetransmission(L2TRUNK trunk, L2UCHAR tei, L2UCHAR nr)
trunk             272 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             337 src/isdn/Q921.c static int Q921AcknowledgePending(L2TRUNK trunk, L2UCHAR tei)
trunk             339 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             349 src/isdn/Q921.c 			Q921SendRR(trunk, trunk->sapi, Q921_COMMAND(trunk), tei, 0);
trunk             370 src/isdn/Q921.c int Q921_InitTrunk(L2TRUNK trunk,
trunk             383 src/isdn/Q921.c 	trunk->sapi = sapi;
trunk             384 src/isdn/Q921.c 	trunk->tei = tei;
trunk             385 src/isdn/Q921.c 	trunk->NetUser = NetUser;
trunk             386 src/isdn/Q921.c 	trunk->NetType = NetType;
trunk             387 src/isdn/Q921.c 	trunk->Q921Tx21Proc = cb21;
trunk             388 src/isdn/Q921.c 	trunk->Q921Tx23Proc = cb23;
trunk             389 src/isdn/Q921.c 	trunk->PrivateData21 = priv21;
trunk             390 src/isdn/Q921.c 	trunk->PrivateData23 = priv23;
trunk             391 src/isdn/Q921.c 	trunk->Q921HeaderSpace = hsize;
trunk             393 src/isdn/Q921.c 	numlinks = Q921_IS_PTMP_NT(trunk) ? Q921_TEI_MAX : 1;
trunk             395 src/isdn/Q921.c 	if (trunk->initialized != INITIALIZED_MAGIC) {
trunk             396 src/isdn/Q921.c 		MFIFOCreate(trunk->HDLCInQueue, Q921MAXHDLCSPACE, 10);
trunk             401 src/isdn/Q921.c 		trunk->context = ftdm_malloc(numlinks * sizeof(struct Q921_Link));
trunk             402 src/isdn/Q921.c 		if(!trunk->context)
trunk             405 src/isdn/Q921.c 		trunk->initialized = INITIALIZED_MAGIC;
trunk             409 src/isdn/Q921.c 	trunk->T200Timeout = 1000;	/*   1 second  */
trunk             410 src/isdn/Q921.c 	trunk->T203Timeout = 10000;	/*  10 seconds */
trunk             411 src/isdn/Q921.c 	trunk->T202Timeout = 2000;	/*   2 seconds */
trunk             412 src/isdn/Q921.c 	trunk->T201Timeout = 200000;	/* 200 seconds */
trunk             413 src/isdn/Q921.c 	trunk->TM01Timeout = 10000;	/*  10 seconds */
trunk             416 src/isdn/Q921.c 	trunk->N200Limit   = 3;		/*   3 retransmits */
trunk             417 src/isdn/Q921.c 	trunk->N201Limit   = 260;	/* 260 octets      */
trunk             418 src/isdn/Q921.c 	trunk->N202Limit   = 3;		/*   3 retransmits */
trunk             419 src/isdn/Q921.c 	trunk->k           = 7;		/*   7 outstanding ACKs */
trunk             422 src/isdn/Q921.c 	trunk->T202 = 0;
trunk             423 src/isdn/Q921.c 	trunk->N202 = 0;
trunk             426 src/isdn/Q921.c 	memset(trunk->context, 0, numlinks * sizeof(struct Q921_Link));
trunk             429 src/isdn/Q921.c 	memset(trunk->tei_map, 0, Q921_TEI_MAX + 1);
trunk             431 src/isdn/Q921.c 	if(Q921_IS_PTMP(trunk)) {
trunk             437 src/isdn/Q921.c 		trunk->tei = 0;
trunk             452 src/isdn/Q921.c static int Q921Tx21Proc(L2TRUNK trunk, L2UCHAR *Msg, L2INT size)
trunk             454 src/isdn/Q921.c 	Q921LogMesg(trunk, Q921_LOG_DEBUG, 0, Msg, size, "Sending frame");
trunk             456 src/isdn/Q921.c 	return trunk->Q921Tx21Proc(trunk->PrivateData21, Msg, size);
trunk             468 src/isdn/Q921.c static int Q921Tx23Proc(L2TRUNK trunk, Q921DLMsg_t ind, L2UCHAR tei, L2UCHAR *Msg, L2INT size)
trunk             470 src/isdn/Q921.c 	return trunk->Q921Tx23Proc(trunk->PrivateData23, ind, tei, Msg, size);
trunk             484 src/isdn/Q921.c static int Q921Log(L2TRUNK trunk, Q921LogLevel_t level, const char *fmt, ...)
trunk             490 src/isdn/Q921.c 	if(!trunk->Q921LogProc)
trunk             493 src/isdn/Q921.c 	if(trunk->loglevel < level)
trunk             510 src/isdn/Q921.c 	return trunk->Q921LogProc(trunk->PrivateDataLog, level, buf, len);
trunk             568 src/isdn/Q921.c static int Q921LogMesg(L2TRUNK trunk, Q921LogLevel_t level, L2UCHAR received, L2UCHAR *mes, L2INT size, const char *fmt, ...)
trunk             574 src/isdn/Q921.c 	if(!trunk->Q921LogProc)
trunk             577 src/isdn/Q921.c 	if(trunk->loglevel < level)
trunk             599 src/isdn/Q921.c 	if(trunk->loglevel == Q921_LOG_DEBUG) {
trunk             603 src/isdn/Q921.c 		L2UCHAR *pmes = mes + trunk->Q921HeaderSpace;
trunk             617 src/isdn/Q921.c 		link  = Q921_LINK_CONTEXT(trunk, tei);
trunk             620 src/isdn/Q921.c 		cr   = (received) ? Q921_IS_COMMAND(trunk, cr) : Q921_IS_RESPONSE(trunk, cr);
trunk             657 src/isdn/Q921.c 				len = print_hex(pbuf + poffset, (int)pleft, &pmes[4], size - (trunk->Q921HeaderSpace + 4));
trunk             782 src/isdn/Q921.c 					len = print_hex(pbuf + poffset, (int)pleft, &pmes[3], size - (trunk->Q921HeaderSpace + 3));
trunk             829 src/isdn/Q921.c 	return trunk->Q921LogProc(trunk->PrivateDataLog, level, buf, (int)strlen(buf));
trunk             864 src/isdn/Q921.c static void Q921T200TimerStart(L2TRUNK trunk, L2UCHAR tei)
trunk             866 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             869 src/isdn/Q921.c 		link->T200 = Q921GetTime() + trunk->T200Timeout;
trunk             871 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "T200 (timeout: %d msecs) started for TEI %d\n", trunk->T200Timeout, tei);
trunk             875 src/isdn/Q921.c static void Q921T200TimerStop(L2TRUNK trunk, L2UCHAR tei)
trunk             877 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             881 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T200 stopped for TEI %d\n", tei);
trunk             884 src/isdn/Q921.c static void Q921T200TimerReset(L2TRUNK trunk, L2UCHAR tei)
trunk             886 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             888 src/isdn/Q921.c 	link->T200 = Q921GetTime() + trunk->T200Timeout;
trunk             890 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T200 (timeout: %d msecs) restarted for TEI %d\n", trunk->T200Timeout, tei);
trunk             896 src/isdn/Q921.c static void Q921T203TimerStart(L2TRUNK trunk, L2UCHAR tei)
trunk             898 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             901 src/isdn/Q921.c 		link->T203 = Q921GetTime() + trunk->T203Timeout;
trunk             903 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "T203 (timeout: %d msecs) started for TEI %d\n", trunk->T203Timeout, tei);
trunk             907 src/isdn/Q921.c static void Q921T203TimerStop(L2TRUNK trunk, L2UCHAR tei)
trunk             909 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             913 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T203 stopped for TEI %d\n", tei);
trunk             916 src/isdn/Q921.c static void Q921T203TimerReset(L2TRUNK trunk, L2UCHAR tei)
trunk             918 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             920 src/isdn/Q921.c 	link->T203 = Q921GetTime() + trunk->T203Timeout;
trunk             922 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T203 (timeout: %d msecs) restarted for TEI %d\n", trunk->T203Timeout, tei);
trunk             928 src/isdn/Q921.c static void Q921T202TimerStart(L2TRUNK trunk)
trunk             930 src/isdn/Q921.c 	if (!trunk->T202) {
trunk             931 src/isdn/Q921.c 		trunk->T202 = Q921GetTime() + trunk->T202Timeout;
trunk             933 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "T202 (timeout: %d msecs) started\n", trunk->T202Timeout);
trunk             937 src/isdn/Q921.c static void Q921T202TimerStop(L2TRUNK trunk)
trunk             939 src/isdn/Q921.c 	trunk->T202 = 0;
trunk             941 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T202 stopped\n");
trunk             944 src/isdn/Q921.c static void Q921T202TimerReset(L2TRUNK trunk)
trunk             946 src/isdn/Q921.c 	trunk->T202 = Q921GetTime() + trunk->T202Timeout;
trunk             948 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T202 (timeout: %d msecs) restarted\n", trunk->T202Timeout);
trunk             954 src/isdn/Q921.c static void Q921T201TimerStart(L2TRUNK trunk, L2UCHAR tei)
trunk             956 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             959 src/isdn/Q921.c 		link->T201 = Q921GetTime() + trunk->T201Timeout;
trunk             961 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "T201 (timeout: %d msecs) started for TEI %d\n", trunk->T201Timeout, tei);
trunk             965 src/isdn/Q921.c static void Q921T201TimerStop(L2TRUNK trunk, L2UCHAR tei)
trunk             967 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             971 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T201 stopped for TEI %d\n", tei);
trunk             975 src/isdn/Q921.c static void Q921T201TimerReset(L2TRUNK trunk, L2UCHAR tei)
trunk             977 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             979 src/isdn/Q921.c 	link->T201 = Q921GetTime() + trunk->T201Timeout;
trunk             981 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T201 (timeout: %d msecs) restarted for TEI %d\n", trunk->T201Timeout, tei);
trunk             988 src/isdn/Q921.c static void Q921TM01TimerStart(L2TRUNK trunk, L2UCHAR tei)
trunk             990 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk             993 src/isdn/Q921.c 		link->TM01 = Q921GetTime() + trunk->TM01Timeout;
trunk             995 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "TM01 (timeout: %d msecs) started for TEI %d\n", trunk->TM01Timeout, tei);
trunk            1000 src/isdn/Q921.c static void Q921TM01TimerStop(L2TRUNK trunk, L2UCHAR tei)
trunk            1002 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            1006 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "TM01 stopped for TEI %d\n", tei);
trunk            1010 src/isdn/Q921.c static void Q921TM01TimerReset(L2TRUNK trunk, L2UCHAR tei)
trunk            1012 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            1014 src/isdn/Q921.c 	link->TM01 = Q921GetTime() + trunk->TM01Timeout;
trunk            1016 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "TM01 (timeout: %d msecs) restarted for TEI %d\n", trunk->TM01Timeout, tei);
trunk            1022 src/isdn/Q921.c static void Q921T200TimerExpire(L2TRUNK trunk, L2UCHAR tei)
trunk            1024 src/isdn/Q921.c 	struct Q921_Link *link   = Q921_LINK_CONTEXT(trunk, tei);
trunk            1025 src/isdn/Q921.c 	struct Q921_Link *trlink = Q921_TRUNK_CONTEXT(trunk);
trunk            1027 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T200 expired for TEI %d (trunk TEI %d)\n", tei, trlink->tei);
trunk            1030 src/isdn/Q921.c 	Q921T200TimerStop(trunk, tei);
trunk            1034 src/isdn/Q921.c 		if(link->N200 >= trunk->N200Limit) {
trunk            1039 src/isdn/Q921.c 			Q921Log(trunk, Q921_LOG_ERROR, "Failed to establish Q.921 link in %d retries\n", link->N200);
trunk            1042 src/isdn/Q921.c 			Q921Tx23Proc(trunk, Q921_DL_RELEASE, tei, NULL, 0);
trunk            1045 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_TEI_ASSIGNED, tei);
trunk            1051 src/isdn/Q921.c 			Q921SendSABME(trunk,
trunk            1052 src/isdn/Q921.c 					trunk->sapi,
trunk            1053 src/isdn/Q921.c 					Q921_COMMAND(trunk),
trunk            1058 src/isdn/Q921.c 			Q921T200TimerStart(trunk, tei);
trunk            1080 src/isdn/Q921.c 			Q921T200TimerStart(trunk, tei);
trunk            1083 src/isdn/Q921.c 			Q921SendEnquiry(trunk, tei);
trunk            1090 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_TIMER_RECOVERY, tei);
trunk            1094 src/isdn/Q921.c 		if(link->N200 == trunk->N200Limit) {
trunk            1098 src/isdn/Q921.c 			Q921EstablishDataLink(trunk, tei);
trunk            1104 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            1108 src/isdn/Q921.c 				Q921SendEnquiry(trunk, tei);
trunk            1125 src/isdn/Q921.c 				Q921T200TimerStart(trunk, tei);
trunk            1140 src/isdn/Q921.c static void Q921T203TimerExpire(L2TRUNK trunk, L2UCHAR tei)
trunk            1142 src/isdn/Q921.c 	struct Q921_Link *link   = Q921_LINK_CONTEXT(trunk, tei);
trunk            1143 src/isdn/Q921.c 	struct Q921_Link *trlink = Q921_TRUNK_CONTEXT(trunk);
trunk            1145 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T203 expired for TEI %d (trunk TEI %d)\n", tei, trlink->tei);
trunk            1148 src/isdn/Q921.c 	Q921T203TimerStop(trunk, tei);
trunk            1153 src/isdn/Q921.c 		Q921SendEnquiry(trunk, tei);
trunk            1166 src/isdn/Q921.c static void Q921T202TimerExpire(L2TRUNK trunk)
trunk            1168 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
trunk            1170 src/isdn/Q921.c 	Q921T202TimerReset(trunk);
trunk            1172 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T202 expired for Q.921 trunk with TEI %d\n", link->tei);
trunk            1178 src/isdn/Q921.c 		Q921TeiSendVerifyRequest(trunk);
trunk            1183 src/isdn/Q921.c 		if(trunk->N202 >= trunk->N202Limit) {
trunk            1185 src/isdn/Q921.c 			trunk->N202 = 0;
trunk            1187 src/isdn/Q921.c 			Q921T202TimerStop(trunk);
trunk            1191 src/isdn/Q921.c 		Q921TeiSendAssignRequest(trunk);
trunk            1193 src/isdn/Q921.c 		trunk->N202++;
trunk            1197 src/isdn/Q921.c static void Q921T201TimerExpire(L2TRUNK trunk, L2UCHAR tei)
trunk            1199 src/isdn/Q921.c 	struct Q921_Link *link   = Q921_LINK_CONTEXT(trunk, tei);
trunk            1200 src/isdn/Q921.c 	struct Q921_Link *trlink = Q921_TRUNK_CONTEXT(trunk);
trunk            1202 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "T201 expired for TEI %d (trunk TEI: %d)\n", tei, trlink->tei);
trunk            1204 src/isdn/Q921.c 	Q921T201TimerStop(trunk, tei);
trunk            1207 src/isdn/Q921.c 	if(link->N202 < trunk->N202Limit) {
trunk            1209 src/isdn/Q921.c 		Q921TeiSendCheckRequest(trunk, tei);
trunk            1215 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_STOPPED, tei);
trunk            1221 src/isdn/Q921.c 		trunk->tei_map[tei] = 0;
trunk            1226 src/isdn/Q921.c static void Q921TM01TimerExpire(L2TRUNK trunk, L2UCHAR tei)
trunk            1228 src/isdn/Q921.c 	struct Q921_Link *link   = Q921_LINK_CONTEXT(trunk, tei);
trunk            1229 src/isdn/Q921.c 	struct Q921_Link *trlink = Q921_TRUNK_CONTEXT(trunk);
trunk            1231 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "TM01 expired for TEI %d (trunk TEI: %d)\n", tei, trlink->tei);
trunk            1234 src/isdn/Q921.c 	Q921TM01TimerReset(trunk, tei);
trunk            1244 src/isdn/Q921.c 		Q921SendDISC(trunk, trunk->sapi, Q921_COMMAND(trunk), tei, 1);
trunk            1250 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_AWAITING_RELEASE, tei);
trunk            1263 src/isdn/Q921.c void Q921TimerTick(L2TRUNK trunk)
trunk            1267 src/isdn/Q921.c 	int numlinks = Q921_IS_PTMP_NT(trunk) ? Q921_TEI_MAX : 1;
trunk            1271 src/isdn/Q921.c 		link = Q921_LINK_CONTEXT(trunk, x);
trunk            1278 src/isdn/Q921.c 			Q921T200TimerExpire(trunk, link->tei);
trunk            1281 src/isdn/Q921.c 			Q921T203TimerExpire(trunk, link->tei);		
trunk            1284 src/isdn/Q921.c 		if(Q921_IS_PTMP_NT(trunk) && link->tei) {
trunk            1286 src/isdn/Q921.c 				Q921T201TimerExpire(trunk, link->tei);
trunk            1290 src/isdn/Q921.c 		if(!Q921_IS_PTMP_NT(trunk)) {
trunk            1291 src/isdn/Q921.c 			if (trunk->T202 && tNow > trunk->T202) {
trunk            1292 src/isdn/Q921.c 				Q921T202TimerExpire(trunk);
trunk            1297 src/isdn/Q921.c 		Q921SendQueuedIFrame(trunk, link->tei);
trunk            1300 src/isdn/Q921.c 		Q921AcknowledgePending(trunk, link->tei);
trunk            1329 src/isdn/Q921.c int Q921QueueHDLCFrame(L2TRUNK trunk, L2UCHAR *b, L2INT size)
trunk            1331 src/isdn/Q921.c     return MFIFOWriteMes(trunk->HDLCInQueue, b, size);
trunk            1339 src/isdn/Q921.c static int Q921EnqueueI(L2TRUNK trunk, L2UCHAR Sapi, char cr, L2UCHAR Tei, char pf, L2UCHAR *mes, L2INT size)
trunk            1341 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, Tei);
trunk            1344 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+0] = ((Sapi << 2) & 0xfc) | ((cr << 1) & 0x02);
trunk            1345 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+1] = (Tei << 1) | 0x01;
trunk            1346 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+2] = 0x00;
trunk            1347 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+3] = (pf & 0x01);
trunk            1349 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "Enqueueing I frame for TEI %d [%d]\n", link->tei, Tei);
trunk            1355 src/isdn/Q921.c 	Q921SendQueuedIFrame(trunk, link->tei);
trunk            1364 src/isdn/Q921.c static int Q921SendQueuedIFrame(L2TRUNK trunk, L2UCHAR tei)
trunk            1366 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            1386 src/isdn/Q921.c 	if(link->vs == ((link->va + trunk->k) % 128)) {
trunk            1387 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_WARNING, "Maximum number (%d) of outstanding I frames reached for TEI %d\n", trunk->k, tei);
trunk            1394 src/isdn/Q921.c 		mes[trunk->Q921HeaderSpace+2]  = link->vs << 1;
trunk            1395 src/isdn/Q921.c 		mes[trunk->Q921HeaderSpace+3] |= link->vr << 1;
trunk            1402 src/isdn/Q921.c 		Q921Tx21Proc(trunk, mes, size);
trunk            1413 src/isdn/Q921.c 			Q921T200TimerStart(trunk, tei);
trunk            1414 src/isdn/Q921.c 			Q921T203TimerStop(trunk, tei);
trunk            1424 src/isdn/Q921.c 		if(Q921_IS_NT(trunk)) {
trunk            1425 src/isdn/Q921.c 			Q921TM01TimerReset(trunk, tei);
trunk            1439 src/isdn/Q921.c static int Q921SendS(L2TRUNK trunk, L2UCHAR Sapi, char cr, L2UCHAR Tei, char pf, L2UCHAR sv, L2UCHAR *mes, L2INT size)
trunk            1441 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, Tei);
trunk            1445 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "Link not ready, discarding S frame for TEI %d\n", Tei);
trunk            1450 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+0] = ((Sapi << 2) & 0xfc) | ((cr << 1) & 0x02);
trunk            1451 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+1] = (Tei << 1) | 0x01;
trunk            1452 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+2] = ((sv << 2) & 0x0c) | 0x01;
trunk            1453 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+3] = (link->vr << 1) | (pf & 0x01);
trunk            1455 src/isdn/Q921.c 	return Q921Tx21Proc(trunk, mes, size);
trunk            1463 src/isdn/Q921.c static int Q921SendU(L2TRUNK trunk, L2UCHAR Sapi, char cr, L2UCHAR Tei, char pf, L2UCHAR m, L2UCHAR *mes, L2INT size)
trunk            1465 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, Tei);
trunk            1468 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+0] = ((Sapi << 2) & 0xfc) | ((cr << 1) & 0x02);
trunk            1469 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+1] = (Tei << 1) | 0x01;
trunk            1470 src/isdn/Q921.c 	mes[trunk->Q921HeaderSpace+2] = ((m << 3) & 0xe0) | ((pf << 4) & 0x10) | ((m << 2) & 0x0c) | 0x03;
trunk            1478 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "Link not ready, UI Frame of size %d bytes queued for TEI %d\n", size, Tei);
trunk            1482 src/isdn/Q921.c 	return Q921Tx21Proc(trunk, mes, size);
trunk            1488 src/isdn/Q921.c int Q921Rx32(L2TRUNK trunk, Q921DLMsg_t ind, L2UCHAR tei, L2UCHAR * Mes, L2INT Size)
trunk            1490 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);	/* TODO: need real link tei for NT mode */
trunk            1493 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "Got frame from Q.931, type: %d, tei: %d, size: %d\n", ind, tei, Size);
trunk            1502 src/isdn/Q921.c 			if(!Q921_IS_NT(trunk)) {
trunk            1504 src/isdn/Q921.c 				Q921EstablishDataLink(trunk, link->tei);
trunk            1510 src/isdn/Q921.c 				Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, link->tei);
trunk            1515 src/isdn/Q921.c 			if(!Q921_IS_NT(trunk)) {
trunk            1526 src/isdn/Q921.c 			if(!Q921_IS_NT(trunk)) {
trunk            1531 src/isdn/Q921.c 				Q921EstablishDataLink(trunk, link->tei);
trunk            1537 src/isdn/Q921.c 				Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, link->tei);
trunk            1550 src/isdn/Q921.c 			Q921Tx23Proc(trunk, Q921_DL_RELEASE, tei, NULL, 0);
trunk            1555 src/isdn/Q921.c 			if(!Q921_IS_NT(trunk)) {
trunk            1563 src/isdn/Q921.c 				Q921SendDISC(trunk, trunk->sapi, Q921_COMMAND(trunk), link->tei, 1);
trunk            1567 src/isdn/Q921.c 					Q921T203TimerStop(trunk, link->tei);
trunk            1569 src/isdn/Q921.c 				Q921T200TimerReset(trunk, link->tei);
trunk            1572 src/isdn/Q921.c 				Q921ChangeState(trunk, Q921_STATE_AWAITING_RELEASE, link->tei);
trunk            1582 src/isdn/Q921.c 		res = Q921EnqueueI(trunk, 
trunk            1583 src/isdn/Q921.c 				trunk->sapi, 
trunk            1584 src/isdn/Q921.c 				Q921_COMMAND(trunk),
trunk            1594 src/isdn/Q921.c 			Q921EstablishDataLink(trunk, link->tei);
trunk            1600 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, link->tei);
trunk            1605 src/isdn/Q921.c 		res = Q921SendUN(trunk,
trunk            1606 src/isdn/Q921.c 				trunk->sapi,
trunk            1607 src/isdn/Q921.c 				Q921_COMMAND(trunk),
trunk            1637 src/isdn/Q921.c static int Q921SendRR(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf)
trunk            1641 src/isdn/Q921.c 	return Q921SendS(trunk, Sapi, cr, Tei, pf, 0x00, mes, trunk->Q921HeaderSpace+4);
trunk            1659 src/isdn/Q921.c static int Q921SendRNR(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf)
trunk            1663 src/isdn/Q921.c 	return Q921SendS(trunk, Sapi, cr, Tei, pf, 0x01, mes, trunk->Q921HeaderSpace+4);
trunk            1681 src/isdn/Q921.c static int Q921SendREJ(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf)
trunk            1685 src/isdn/Q921.c 	return Q921SendS(trunk, Sapi, cr, Tei, pf, 0x03, mes, trunk->Q921HeaderSpace+4);
trunk            1703 src/isdn/Q921.c static int Q921SendSABME(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf)
trunk            1707 src/isdn/Q921.c 	return Q921SendU(trunk, Sapi, cr, Tei, pf, 0x0f, mes, trunk->Q921HeaderSpace+3);
trunk            1717 src/isdn/Q921.c int Q921Start(L2TRUNK trunk)
trunk            1719 src/isdn/Q921.c 	int x, numlinks = Q921_IS_PTMP_NT(trunk) ? Q921_TEI_MAX : 1;
trunk            1720 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
trunk            1722 src/isdn/Q921.c 	if(trunk->initialized != INITIALIZED_MAGIC)
trunk            1725 src/isdn/Q921.c 	memset(trunk->context, 0, numlinks * sizeof(struct Q921_Link));
trunk            1729 src/isdn/Q921.c 		link = Q921_LINK_CONTEXT(trunk, x);
trunk            1740 src/isdn/Q921.c 	if(Q921_IS_PTMP_TE(trunk)) {
trunk            1744 src/isdn/Q921.c 	else if(Q921_IS_PTMP_NT(trunk)) {
trunk            1745 src/isdn/Q921.c 		link = Q921_TRUNK_CONTEXT(trunk);
trunk            1748 src/isdn/Q921.c 		link->tei   = trunk->tei;
trunk            1751 src/isdn/Q921.c 		memset(trunk->tei_map, 0, Q921_TEI_MAX + 1);
trunk            1755 src/isdn/Q921.c 		link->tei   = trunk->tei;
trunk            1758 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "Starting trunk %p (sapi: %d, tei: %d, mode: %s %s)\n",
trunk            1759 src/isdn/Q921.c 				 trunk,
trunk            1760 src/isdn/Q921.c 				 trunk->sapi,
trunk            1762 src/isdn/Q921.c 				 Q921_IS_PTMP(trunk) ? "PTMP" : "PTP",
trunk            1763 src/isdn/Q921.c 				 Q921_IS_TE(trunk) ? "TE" : "NT");
trunk            1765 src/isdn/Q921.c 	if(Q921_IS_PTP(trunk)) {
trunk            1766 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "Sending SABME\n");
trunk            1768 src/isdn/Q921.c 		return Q921SendSABME(trunk, 
trunk            1769 src/isdn/Q921.c 					trunk->sapi, 
trunk            1770 src/isdn/Q921.c 					Q921_COMMAND(trunk),
trunk            1774 src/isdn/Q921.c 	} else if(Q921_IS_PTMP_NT(trunk)) {
trunk            1776 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "Revoking all TEIs\n");
trunk            1778 src/isdn/Q921.c 		return Q921TeiSendRemoveRequest(trunk, Q921_TEI_BCAST);	/* Revoke all TEIs in use */
trunk            1781 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "Requesting TEI\n");
trunk            1783 src/isdn/Q921.c 		return Q921TeiSendAssignRequest(trunk);
trunk            1796 src/isdn/Q921.c int Q921Stop(L2TRUNK trunk)
trunk            1801 src/isdn/Q921.c 	if(!trunk)
trunk            1804 src/isdn/Q921.c 	link = Q921_TRUNK_CONTEXT(trunk);
trunk            1805 src/isdn/Q921.c 	numlinks = Q921_IS_PTMP_NT(trunk) ? Q921_TEI_MAX : 1;
trunk            1811 src/isdn/Q921.c 	if(Q921_IS_PTMP_TE(trunk)) {
trunk            1813 src/isdn/Q921.c 		Q921TeiSendVerifyRequest(trunk);
trunk            1821 src/isdn/Q921.c 		Q921T200TimerStop(trunk, x);
trunk            1822 src/isdn/Q921.c 		Q921T203TimerStop(trunk, x);
trunk            1823 src/isdn/Q921.c 		Q921T201TimerStop(trunk, x);
trunk            1826 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_STOPPED, x);
trunk            1833 src/isdn/Q921.c 	Q921T202TimerStop(trunk);
trunk            1836 src/isdn/Q921.c 	MFIFOClear(trunk->HDLCInQueue);
trunk            1857 src/isdn/Q921.c static int Q921SendDM(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf)
trunk            1861 src/isdn/Q921.c 	return Q921SendU(trunk, Sapi, cr, Tei, pf, 0x03, mes, trunk->Q921HeaderSpace+3);
trunk            1879 src/isdn/Q921.c static int Q921SendDISC(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf)
trunk            1883 src/isdn/Q921.c 	return Q921SendU(trunk, Sapi, cr, Tei, pf, 0x08, mes, trunk->Q921HeaderSpace+3);
trunk            1901 src/isdn/Q921.c static int Q921SendUA(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf)
trunk            1905 src/isdn/Q921.c 	return Q921SendU(trunk, Sapi, cr, Tei, pf, 0x0c, mes, trunk->Q921HeaderSpace+3);
trunk            1908 src/isdn/Q921.c static int Q921SendUN(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf, L2UCHAR *mes, L2INT size)
trunk            1910 src/isdn/Q921.c 	return Q921SendU(trunk, Sapi, cr, Tei, pf, 0x00, mes, size+trunk->Q921HeaderSpace+3);
trunk            1922 src/isdn/Q921.c static int Q921ProcSABME(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            1926 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            1931 src/isdn/Q921.c 		Q921SendUA(trunk,
trunk            1932 src/isdn/Q921.c 				trunk->sapi,
trunk            1933 src/isdn/Q921.c 				Q921_RESPONSE(trunk),	/* or command? */
trunk            1942 src/isdn/Q921.c 		Q921Tx23Proc(trunk, Q921_DL_ESTABLISH, tei, NULL, 0);
trunk            1945 src/isdn/Q921.c 		Q921T203TimerStart(trunk, tei);
trunk            1948 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_MULTIPLE_FRAME_ESTABLISHED, tei);
trunk            1953 src/isdn/Q921.c 		Q921SendUA(trunk,
trunk            1954 src/isdn/Q921.c 				trunk->sapi,
trunk            1955 src/isdn/Q921.c 				Q921_RESPONSE(trunk),
trunk            1963 src/isdn/Q921.c 		Q921SendDM(trunk,
trunk            1964 src/isdn/Q921.c 				trunk->sapi,
trunk            1965 src/isdn/Q921.c 				Q921_RESPONSE(trunk),
trunk            1974 src/isdn/Q921.c 		Q921SendUA(trunk,
trunk            1975 src/isdn/Q921.c 				trunk->sapi,
trunk            1976 src/isdn/Q921.c 				Q921_RESPONSE(trunk),
trunk            1980 src/isdn/Q921.c 		Q921ResetExceptionConditions(trunk, tei);
trunk            1990 src/isdn/Q921.c 			Q921Tx23Proc(trunk, Q921_DL_ESTABLISH, tei, NULL, 0);
trunk            1999 src/isdn/Q921.c 		Q921T200TimerStop(trunk, tei);
trunk            2000 src/isdn/Q921.c 		Q921T203TimerStart(trunk, tei);
trunk            2004 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_MULTIPLE_FRAME_ESTABLISHED, tei);
trunk            2023 src/isdn/Q921.c static int Q921ProcDM(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            2027 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            2033 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2046 src/isdn/Q921.c 			Q921Tx23Proc(trunk, Q921_DL_RELEASE, tei, NULL, 0);
trunk            2049 src/isdn/Q921.c 			Q921T200TimerStop(trunk, tei);
trunk            2052 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_TEI_ASSIGNED, tei);
trunk            2065 src/isdn/Q921.c 			Q921EstablishDataLink(trunk, tei);
trunk            2071 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2083 src/isdn/Q921.c 		Q921EstablishDataLink(trunk, tei);
trunk            2089 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2107 src/isdn/Q921.c static int Q921ProcUA(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            2111 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            2117 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_ERROR, "Received UA frame in invalid state\n");
trunk            2127 src/isdn/Q921.c 				Q921Tx23Proc(trunk, Q921_DL_ESTABLISH_CONFIRM, tei, NULL, 0);
trunk            2135 src/isdn/Q921.c 				Q921Tx23Proc(trunk, Q921_DL_ESTABLISH, tei, NULL, 0);
trunk            2139 src/isdn/Q921.c 			Q921T200TimerStop(trunk, tei);
trunk            2140 src/isdn/Q921.c 			Q921T203TimerStart(trunk, tei);
trunk            2146 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_MULTIPLE_FRAME_ESTABLISHED, tei);
trunk            2149 src/isdn/Q921.c 			Q921Log(trunk, Q921_LOG_ERROR, "Received UA frame is not a response to a request\n");
trunk            2158 src/isdn/Q921.c 			Q921Tx23Proc(trunk, Q921_DL_RELEASE_CONFIRM, tei, NULL, 0);
trunk            2161 src/isdn/Q921.c 			Q921T200TimerStop(trunk, tei);
trunk            2164 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_TEI_ASSIGNED, tei);
trunk            2167 src/isdn/Q921.c 			Q921Log(trunk, Q921_LOG_ERROR, "Received UA frame is not a response to a request\n");
trunk            2175 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_ERROR, "Received UA frame in invalid state\n");
trunk            2196 src/isdn/Q921.c static int Q921ProcDISC(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            2200 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            2206 src/isdn/Q921.c 		Q921SendDM(trunk,
trunk            2207 src/isdn/Q921.c 				trunk->sapi,
trunk            2208 src/isdn/Q921.c 				Q921_RESPONSE(trunk),
trunk            2215 src/isdn/Q921.c 		Q921SendUA(trunk,
trunk            2216 src/isdn/Q921.c 				trunk->sapi,
trunk            2217 src/isdn/Q921.c 				Q921_RESPONSE(trunk),
trunk            2229 src/isdn/Q921.c 		Q921SendUA(trunk,
trunk            2230 src/isdn/Q921.c 				trunk->sapi,
trunk            2231 src/isdn/Q921.c 				Q921_RESPONSE(trunk),
trunk            2235 src/isdn/Q921.c 		Q921Tx23Proc(trunk, Q921_DL_RELEASE, tei, NULL, 0);
trunk            2238 src/isdn/Q921.c 		Q921T200TimerStop(trunk, tei);
trunk            2242 src/isdn/Q921.c 			Q921T203TimerStop(trunk, tei);
trunk            2246 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_TEI_ASSIGNED, tei);
trunk            2250 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_ERROR, "Invalid DISC received in state \"%s\" (%d)", Q921State2Name(link->state), link->state);
trunk            2266 src/isdn/Q921.c static int Q921ProcRR(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            2273 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            2280 src/isdn/Q921.c 		if (Q921_IS_COMMAND(trunk, cr)) { /* if this is a command */
trunk            2283 src/isdn/Q921.c 				Q921SendEnquiryResponse(trunk, tei);
trunk            2299 src/isdn/Q921.c 				Q921T200TimerStop(trunk, tei);
trunk            2300 src/isdn/Q921.c 				Q921T203TimerReset(trunk, tei);
trunk            2311 src/isdn/Q921.c 				Q921T200TimerReset(trunk, tei);
trunk            2317 src/isdn/Q921.c 			Q921NrErrorRecovery(trunk, tei);
trunk            2320 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2329 src/isdn/Q921.c 		if(Q921_IS_COMMAND(trunk, cr) && pf) {
trunk            2331 src/isdn/Q921.c 			Q921SendEnquiryResponse(trunk, tei);
trunk            2339 src/isdn/Q921.c 			if(!Q921_IS_COMMAND(trunk, cr) && pf) {
trunk            2341 src/isdn/Q921.c 				Q921T200TimerStop(trunk, tei);
trunk            2342 src/isdn/Q921.c 				Q921T203TimerStart(trunk, tei);
trunk            2345 src/isdn/Q921.c 				Q921InvokeRetransmission(trunk, tei, nr);
trunk            2348 src/isdn/Q921.c 				Q921ChangeState(trunk, Q921_STATE_MULTIPLE_FRAME_ESTABLISHED, tei);
trunk            2353 src/isdn/Q921.c 			Q921NrErrorRecovery(trunk, tei);
trunk            2356 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2375 src/isdn/Q921.c static int Q921ProcREJ(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            2382 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            2390 src/isdn/Q921.c 		if(Q921_IS_COMMAND(trunk, cr)) {
trunk            2393 src/isdn/Q921.c 				Q921SendEnquiryResponse(trunk, tei);
trunk            2408 src/isdn/Q921.c 			Q921T200TimerStop(trunk, tei);
trunk            2409 src/isdn/Q921.c 			Q921T203TimerStart(trunk, tei);
trunk            2412 src/isdn/Q921.c 			Q921InvokeRetransmission(trunk, tei, nr);
trunk            2417 src/isdn/Q921.c 			Q921NrErrorRecovery(trunk, tei);
trunk            2420 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2429 src/isdn/Q921.c 		if(Q921_IS_COMMAND(trunk, cr) && pf) {
trunk            2431 src/isdn/Q921.c 			Q921SendEnquiryResponse(trunk, tei);
trunk            2440 src/isdn/Q921.c 			if(!Q921_IS_COMMAND(trunk, cr) && pf) {
trunk            2442 src/isdn/Q921.c 				Q921T200TimerStop(trunk, tei);
trunk            2443 src/isdn/Q921.c 				Q921T203TimerStart(trunk, tei);
trunk            2446 src/isdn/Q921.c 				Q921InvokeRetransmission(trunk, tei, nr);
trunk            2449 src/isdn/Q921.c 				Q921ChangeState(trunk, Q921_STATE_MULTIPLE_FRAME_ESTABLISHED, tei);
trunk            2454 src/isdn/Q921.c 			Q921NrErrorRecovery(trunk, tei);
trunk            2457 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2477 src/isdn/Q921.c static int Q921ProcRNR(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            2484 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            2492 src/isdn/Q921.c 		if(Q921_IS_COMMAND(trunk, cr)) {
trunk            2495 src/isdn/Q921.c 				Q921SendEnquiryResponse(trunk, tei);
trunk            2510 src/isdn/Q921.c 			Q921T200TimerReset(trunk, tei);
trunk            2511 src/isdn/Q921.c 			Q921T203TimerStop(trunk, tei);
trunk            2516 src/isdn/Q921.c 			Q921NrErrorRecovery(trunk, tei);
trunk            2519 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2528 src/isdn/Q921.c 		if(Q921_IS_COMMAND(trunk, cr) && pf) {
trunk            2530 src/isdn/Q921.c 			Q921SendEnquiryResponse(trunk, tei);
trunk            2539 src/isdn/Q921.c 			if(!Q921_IS_COMMAND(trunk, cr) && pf) {
trunk            2541 src/isdn/Q921.c 				Q921T200TimerReset(trunk, tei);
trunk            2544 src/isdn/Q921.c 				Q921InvokeRetransmission(trunk, tei, nr);
trunk            2547 src/isdn/Q921.c 				Q921ChangeState(trunk, Q921_STATE_MULTIPLE_FRAME_ESTABLISHED, tei);
trunk            2552 src/isdn/Q921.c 			Q921NrErrorRecovery(trunk, tei);
trunk            2555 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2567 src/isdn/Q921.c static int Q921SetReceiverBusy(L2TRUNK trunk)
trunk            2569 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            2578 src/isdn/Q921.c 			Q921SendRR(trunk, trunk->sapi, Q921_RESPONSE(trunk), link->tei, 0);
trunk            2591 src/isdn/Q921.c 			Q921SendRNR(trunk, trunk->sapi, Q921_RESPONSE(trunk), link->tei, 0);
trunk            2605 src/isdn/Q921.c static int Q921ClearReceiverBusy(L2TRUNK trunk)
trunk            2607 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            2617 src/isdn/Q921.c 			Q921SendRNR(trunk, trunk->sapi, Q921_RESPONSE(trunk), link->tei, 0);
trunk            2632 src/isdn/Q921.c static int Q921ProcIFrame(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            2642 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            2646 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_NOTICE, "I frame in invalid state ignored\n");
trunk            2657 src/isdn/Q921.c 			Q921SendRNR(trunk, trunk->sapi, Q921_RESPONSE(trunk), tei, 1);
trunk            2671 src/isdn/Q921.c 				Q921SendRR(trunk, trunk->sapi, Q921_RESPONSE(trunk), tei, 1);
trunk            2682 src/isdn/Q921.c 				Q921SendREJ(trunk, trunk->sapi, Q921_RESPONSE(trunk), tei, pf);
trunk            2696 src/isdn/Q921.c 			Q921Tx23Proc(trunk, Q921_DL_DATA, tei, mes, size);
trunk            2700 src/isdn/Q921.c 				Q921SendRR(trunk, trunk->sapi, Q921_RESPONSE(trunk), tei, 1);
trunk            2709 src/isdn/Q921.c 				Q921SendRR(trunk, trunk->sapi, Q921_RESPONSE(trunk), tei, 0);
trunk            2729 src/isdn/Q921.c 				Q921T200TimerStop(trunk, tei);
trunk            2730 src/isdn/Q921.c 				Q921T203TimerReset(trunk, tei);
trunk            2737 src/isdn/Q921.c 				Q921T200TimerReset(trunk, tei);
trunk            2741 src/isdn/Q921.c 			if(Q921_IS_NT(trunk)) {
trunk            2742 src/isdn/Q921.c 				Q921TM01TimerReset(trunk, tei);
trunk            2747 src/isdn/Q921.c 			Q921NrErrorRecovery(trunk, tei);
trunk            2750 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2760 src/isdn/Q921.c 			if(Q921_IS_NT(trunk)) {
trunk            2761 src/isdn/Q921.c 				Q921TM01TimerReset(trunk, tei);
trunk            2766 src/isdn/Q921.c 			Q921NrErrorRecovery(trunk, tei);
trunk            2769 src/isdn/Q921.c 			Q921ChangeState(trunk, Q921_STATE_AWAITING_ESTABLISHMENT, tei);
trunk            2781 src/isdn/Q921.c static int Q921ProcSFrame(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            2790 src/isdn/Q921.c 		res = Q921ProcRR(trunk, mes, size);
trunk            2794 src/isdn/Q921.c 		res = Q921ProcRNR(trunk, mes, size);
trunk            2798 src/isdn/Q921.c 		res = Q921ProcREJ(trunk, mes, size);
trunk            2802 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_ERROR, "Invalid S frame type %d\n", sv);
trunk            2811 src/isdn/Q921.c static int Q921ProcUFrame(L2TRUNK trunk, L2UCHAR *mes, L2INT size) 
trunk            2821 src/isdn/Q921.c 			if(!Q921_IS_PTMP(trunk)) {
trunk            2828 src/isdn/Q921.c 				res = Q921TeiProcAssignRequest(trunk, mes, size);
trunk            2833 src/isdn/Q921.c 				res = Q921TeiProcAssignResponse(trunk, mes, size);
trunk            2837 src/isdn/Q921.c 				res = Q921TeiProcCheckRequest(trunk, mes, size);
trunk            2841 src/isdn/Q921.c 				res = Q921TeiProcCheckResponse(trunk, mes, size);
trunk            2845 src/isdn/Q921.c 				res = Q921TeiProcRemoveRequest(trunk, mes, size);
trunk            2849 src/isdn/Q921.c 				res = Q921TeiProcVerifyRequest(trunk, mes, size);
trunk            2853 src/isdn/Q921.c 				Q921Log(trunk, Q921_LOG_ERROR, "Invalid UN message from TEI management/endpoint\n");
trunk            2859 src/isdn/Q921.c 			Q921Log(trunk, Q921_LOG_DEBUG, "UI Frame for Layer 3 received\n");
trunk            2861 src/isdn/Q921.c 			res = Q921Tx23Proc(trunk, Q921_DL_UNIT_DATA, 0, mes, size);
trunk            2866 src/isdn/Q921.c 		res = Q921ProcDM(trunk, mes, size);
trunk            2870 src/isdn/Q921.c 		res = Q921ProcDISC(trunk, mes, size);
trunk            2874 src/isdn/Q921.c 		res = Q921ProcUA(trunk, mes, size);
trunk            2878 src/isdn/Q921.c 		res = Q921ProcSABME(trunk, mes, size);
trunk            2887 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_ERROR, "Invalid U frame type: %d\n", m);
trunk            2913 src/isdn/Q921.c int Q921Rx12(L2TRUNK trunk)
trunk            2916 src/isdn/Q921.c 	L2UCHAR *smes = MFIFOGetMesPtr(trunk->HDLCInQueue, &size);
trunk            2925 src/isdn/Q921.c 		rs  = size - trunk->Q921HeaderSpace;
trunk            2926 src/isdn/Q921.c 		mes = &smes[trunk->Q921HeaderSpace];
trunk            2928 src/isdn/Q921.c 		Q921LogMesg(trunk, Q921_LOG_DEBUG, 1, mes, rs, "New packet received (%d bytes)", rs);
trunk            2933 src/isdn/Q921.c 		link  = Q921_LINK_CONTEXT(trunk, tei);
trunk            2935 src/isdn/Q921.c 		if(Q921_IS_PTMP_TE(trunk) && (
trunk            2944 src/isdn/Q921.c 			Q921ProcIFrame(trunk, mes, rs);
trunk            2947 src/isdn/Q921.c 			Q921ProcSFrame(trunk, mes, rs);
trunk            2950 src/isdn/Q921.c 			Q921ProcUFrame(trunk, mes, rs);
trunk            2953 src/isdn/Q921.c 			Q921Log(trunk, Q921_LOG_ERROR, "Invalid frame type: %d\n", (int)(mes[2] & 0x03));
trunk            2958 src/isdn/Q921.c 		MFIFOKillNext(trunk->HDLCInQueue);
trunk            2978 src/isdn/Q921.c void Q921SetLogCB(L2TRUNK trunk, Q921LogCB_t func, void *priv)
trunk            2980 src/isdn/Q921.c 	if(!trunk)
trunk            2983 src/isdn/Q921.c 	trunk->Q921LogProc = func;
trunk            2984 src/isdn/Q921.c 	trunk->PrivateDataLog = priv;
trunk            2995 src/isdn/Q921.c void Q921SetLogLevel(L2TRUNK trunk, Q921LogLevel_t level)
trunk            2997 src/isdn/Q921.c 	if(!trunk)
trunk            3006 src/isdn/Q921.c 	trunk->loglevel = level;
trunk            3019 src/isdn/Q921.c static int Q921ChangeState(L2TRUNK trunk, Q921State_t state, L2UCHAR tei)
trunk            3021 src/isdn/Q921.c 	struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            3025 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "Changing state from \"%s\" (%d) to \"%s\" (%d) for TEI %d\n",
trunk            3036 src/isdn/Q921.c 		if(Q921_IS_NT(trunk)) {
trunk            3037 src/isdn/Q921.c 			Q921TM01TimerStart(trunk, tei);
trunk            3053 src/isdn/Q921.c 			if(Q921_IS_PTMP_TE(trunk)) {
trunk            3054 src/isdn/Q921.c 				res = Q921TeiSendAssignRequest(trunk);
trunk            3059 src/isdn/Q921.c 			if(Q921_IS_PTMP_NT(trunk)) {
trunk            3060 src/isdn/Q921.c 				res = Q921TeiSendRemoveRequest(trunk, Q921_TEI_BCAST);
trunk            3075 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "Q921ChangeState() returns %d, new state is \"%s\" (%d) for TEI %d\n", res, Q921State2Name(state), state, tei);
trunk            3084 src/isdn/Q921.c static int Q921TeiSend(L2TRUNK trunk, L2UCHAR type, L2USHORT ri, L2UCHAR ai)
trunk            3087 src/isdn/Q921.c 	L2UCHAR offset = Q921_UFRAME_DATA_OFFSET(trunk);
trunk            3095 src/isdn/Q921.c 	return Q921SendU(trunk, Q921_SAPI_TEI, Q921_COMMAND(trunk), Q921_TEI_BCAST, 0, 0x00, mes, offset);
trunk            3107 src/isdn/Q921.c static int Q921TeiSendAssignRequest(L2TRUNK trunk)
trunk            3109 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
trunk            3112 src/isdn/Q921.c 	if (!Q921_IS_PTMP_TE(trunk))	/* only ptmp te mode*/
trunk            3122 src/isdn/Q921.c 	res = Q921TeiSend(trunk, Q921_TEI_ID_REQUEST, link->ri, Q921_TEI_BCAST);
trunk            3125 src/isdn/Q921.c 	Q921T202TimerStart(trunk);
trunk            3141 src/isdn/Q921.c static int Q921TeiProcAssignResponse(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            3143 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
trunk            3144 src/isdn/Q921.c 	L2UCHAR offset = Q921_UFRAME_DATA_OFFSET(trunk);
trunk            3147 src/isdn/Q921.c 	if (!Q921_IS_PTMP_TE(trunk))	/* PTMP TE only */
trunk            3162 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "Assigned TEI %d, setting state to TEI_ASSIGNED\n", link->tei);
trunk            3164 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_TEI_ASSIGNED, link->tei);
trunk            3177 src/isdn/Q921.c 		Q921Log(trunk, Q921_LOG_DEBUG, "TEI assignment has been denied, reason: %s\n",
trunk            3180 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_TEI_UNASSIGNED, link->tei);
trunk            3188 src/isdn/Q921.c 	Q921T202TimerStop(trunk);
trunk            3202 src/isdn/Q921.c static int Q921TeiSendVerifyRequest(L2TRUNK trunk)
trunk            3204 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
trunk            3207 src/isdn/Q921.c 	if (!Q921_IS_PTMP_TE(trunk))	/* only ptmp te mode*/
trunk            3211 src/isdn/Q921.c 	if (trunk->T202)
trunk            3215 src/isdn/Q921.c 	res = Q921TeiSend(trunk, Q921_TEI_ID_VERIFY, link->ri, link->tei);
trunk            3218 src/isdn/Q921.c 	Q921T202TimerStart(trunk);
trunk            3234 src/isdn/Q921.c static int Q921TeiProcCheckRequest(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            3236 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
trunk            3237 src/isdn/Q921.c 	L2UCHAR offset = Q921_UFRAME_DATA_OFFSET(trunk);
trunk            3241 src/isdn/Q921.c 	if (!Q921_IS_PTMP_TE(trunk))	/* ptmp te mode only */
trunk            3244 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "Received TEI Check request for TEI %d\n", tei);
trunk            3252 src/isdn/Q921.c 		res = Q921TeiSend(trunk, Q921_TEI_ID_CHECKRESP, link->ri, link->tei);
trunk            3254 src/isdn/Q921.c 		Q921T202TimerStop(trunk);
trunk            3271 src/isdn/Q921.c static int Q921TeiProcRemoveRequest(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            3273 src/isdn/Q921.c 	struct Q921_Link *link = Q921_TRUNK_CONTEXT(trunk);
trunk            3274 src/isdn/Q921.c 	L2UCHAR offset = Q921_UFRAME_DATA_OFFSET(trunk);
trunk            3278 src/isdn/Q921.c 	if (!Q921_IS_PTMP_TE(trunk))	/* ptmp te mode only */
trunk            3281 src/isdn/Q921.c 	Q921Log(trunk, Q921_LOG_DEBUG, "Received TEI Remove request for TEI %d\n", tei);
trunk            3292 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_TEI_UNASSIGNED, link->tei);
trunk            3295 src/isdn/Q921.c 		res = Q921TeiSendAssignRequest(trunk);
trunk            3311 src/isdn/Q921.c static int Q921TeiProcAssignRequest(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            3313 src/isdn/Q921.c 	L2UCHAR offset = Q921_UFRAME_DATA_OFFSET(trunk);
trunk            3317 src/isdn/Q921.c 	if (!Q921_IS_PTMP_NT(trunk))	/* PTMP NT only */
trunk            3328 src/isdn/Q921.c 			if(!trunk->tei_map[x]) {
trunk            3336 src/isdn/Q921.c 		Q921TeiSendDenyResponse(trunk, 0, ri);
trunk            3343 src/isdn/Q921.c 		Q921TeiSendDenyResponse(trunk, Q921_TEI_BCAST, ri);
trunk            3346 src/isdn/Q921.c 		struct Q921_Link *link = Q921_LINK_CONTEXT(trunk, tei);
trunk            3349 src/isdn/Q921.c 		trunk->tei_map[tei] = 1;
trunk            3355 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_TEI_ASSIGNED, tei);
trunk            3358 src/isdn/Q921.c 		Q921TeiSendAssignedResponse(trunk, tei, ri);
trunk            3361 src/isdn/Q921.c 		Q921T201TimerStart(trunk, tei);
trunk            3375 src/isdn/Q921.c static int Q921TeiSendCheckRequest(L2TRUNK trunk, L2UCHAR tei)
trunk            3379 src/isdn/Q921.c 	if (!Q921_IS_PTMP_NT(trunk))	/* PTMP NT only */
trunk            3383 src/isdn/Q921.c 	res = Q921TeiSend(trunk, Q921_TEI_ID_CHECKREQ, 0, tei);
trunk            3386 src/isdn/Q921.c 	Q921T201TimerStart(trunk, tei);
trunk            3401 src/isdn/Q921.c static int Q921TeiProcCheckResponse(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            3404 src/isdn/Q921.c 	L2UCHAR offset = Q921_UFRAME_DATA_OFFSET(trunk);
trunk            3408 src/isdn/Q921.c 	if (!Q921_IS_PTMP_NT(trunk))	/* PTMP NT mode only */
trunk            3415 src/isdn/Q921.c 	Q921T201TimerStop(trunk, tei);
trunk            3418 src/isdn/Q921.c 	link       = Q921_LINK_CONTEXT(trunk, tei);
trunk            3421 src/isdn/Q921.c 	if(!(tei > 0 && tei < Q921_TEI_MAX) || !trunk->tei_map[tei]) {
trunk            3425 src/isdn/Q921.c 		Q921TeiSendRemoveRequest(trunk, tei);
trunk            3428 src/isdn/Q921.c 		Q921ChangeState(trunk, Q921_STATE_STOPPED, tei);
trunk            3434 src/isdn/Q921.c 		Q921T201TimerStart(trunk, tei);
trunk            3451 src/isdn/Q921.c static int Q921TeiProcVerifyRequest(L2TRUNK trunk, L2UCHAR *mes, L2INT size)
trunk            3454 src/isdn/Q921.c 	L2UCHAR offset = Q921_UFRAME_DATA_OFFSET(trunk);
trunk            3457 src/isdn/Q921.c 	if (!Q921_IS_PTMP_NT(trunk))	/* PTMP NT mode only */
trunk            3476 src/isdn/Q921.c static int Q921TeiSendDenyResponse(L2TRUNK trunk, L2UCHAR tei, L2USHORT ri)
trunk            3478 src/isdn/Q921.c 	if (!Q921_IS_PTMP_NT(trunk))	/* PTMP NT only */
trunk            3481 src/isdn/Q921.c 	return Q921TeiSend(trunk, Q921_TEI_ID_DENIED, ri, tei);
trunk            3495 src/isdn/Q921.c static int Q921TeiSendAssignedResponse(L2TRUNK trunk, L2UCHAR tei, L2USHORT ri)
trunk            3497 src/isdn/Q921.c 	if (!Q921_IS_PTMP_NT(trunk))	/* PTMP NT only */
trunk            3500 src/isdn/Q921.c 	return Q921TeiSend(trunk, Q921_TEI_ID_ASSIGNED, ri, tei);
trunk            3512 src/isdn/Q921.c static int Q921TeiSendRemoveRequest(L2TRUNK trunk, L2UCHAR tei)
trunk            3514 src/isdn/Q921.c 	if (!Q921_IS_PTMP_NT(trunk))	/* PTMP NT only */
trunk            3517 src/isdn/Q921.c 	return Q921TeiSend(trunk, Q921_TEI_ID_REMOVE, 0, tei);
trunk             820 src/isdn/Q931.c L3INT Q931Log(Q931_TrunkInfo_t *trunk, Q931LogLevel_t level, const char *fmt, ...)
trunk             826 src/isdn/Q931.c 	if (!trunk->Q931LogCBProc)
trunk             829 src/isdn/Q931.c 	if (trunk->loglevel < level)
trunk             846 src/isdn/Q931.c 	return trunk->Q931LogCBProc(trunk->PrivateDataLog, level, buf, len);
trunk             853 src/isdn/Q931.c void Q931SetLogCB(Q931_TrunkInfo_t *trunk, Q931LogCB_t func, void *priv)
trunk             855 src/isdn/Q931.c 	trunk->Q931LogCBProc  = func;
trunk             856 src/isdn/Q931.c 	trunk->PrivateDataLog = priv;
trunk             863 src/isdn/Q931.c void Q931SetLogLevel(Q931_TrunkInfo_t *trunk, Q931LogLevel_t level)
trunk             865 src/isdn/Q931.c     if(!trunk)
trunk             874 src/isdn/Q931.c 	trunk->loglevel = level;
trunk             203 src/isdn/include/Q921.h int Q921_InitTrunk(L2TRUNK trunk,
trunk             213 src/isdn/include/Q921.h int Q921Start(L2TRUNK trunk);
trunk             214 src/isdn/include/Q921.h int Q921Stop(L2TRUNK trunk);
trunk             216 src/isdn/include/Q921.h void Q921SetLogCB(L2TRUNK trunk, Q921LogCB_t func, void *priv);
trunk             217 src/isdn/include/Q921.h void Q921SetLogLevel(L2TRUNK trunk, Q921LogLevel_t level);
trunk             219 src/isdn/include/Q921.h int Q921Rx12(L2TRUNK trunk);
trunk             220 src/isdn/include/Q921.h int Q921Rx32(L2TRUNK trunk, Q921DLMsg_t ind, L2UCHAR tei, L2UCHAR * Mes, L2INT Size);
trunk             222 src/isdn/include/Q921.h int Q921QueueHDLCFrame(L2TRUNK trunk, L2UCHAR *b, L2INT size);
trunk             225 src/isdn/include/Q921.h void Q921TimerTick(L2TRUNK trunk);
trunk             208 src/isdn/include/Q921priv.h static int Q921Tx21Proc(L2TRUNK trunk, L2UCHAR *Msg, L2INT size);
trunk             209 src/isdn/include/Q921priv.h static int Q921Tx23Proc(L2TRUNK trunk, Q921DLMsg_t ind, L2UCHAR tei, L2UCHAR *Msg, L2INT size);
trunk             217 src/isdn/include/Q921priv.h static void Q921T200TimerStart(L2TRUNK trunk, L2UCHAR tei);
trunk             218 src/isdn/include/Q921priv.h static void Q921T200TimerStop(L2TRUNK trunk, L2UCHAR tei);
trunk             219 src/isdn/include/Q921priv.h static void Q921T200TimerReset(L2TRUNK trunk, L2UCHAR tei);
trunk             220 src/isdn/include/Q921priv.h static void Q921T200TimerExpire(L2TRUNK trunk, L2UCHAR tei);
trunk             222 src/isdn/include/Q921priv.h static void Q921T201TimerStart(L2TRUNK trunk, L2UCHAR tei);
trunk             223 src/isdn/include/Q921priv.h static void Q921T201TimerStop(L2TRUNK trunk, L2UCHAR tei);
trunk             225 src/isdn/include/Q921priv.h static void Q921T201TimerExpire(L2TRUNK trunk, L2UCHAR tei);
trunk             227 src/isdn/include/Q921priv.h static void Q921T202TimerStart(L2TRUNK trunk);
trunk             228 src/isdn/include/Q921priv.h static void Q921T202TimerStop(L2TRUNK trunk);
trunk             229 src/isdn/include/Q921priv.h static void Q921T202TimerReset(L2TRUNK trunk);
trunk             230 src/isdn/include/Q921priv.h static void Q921T202TimerExpire(L2TRUNK trunk);
trunk             232 src/isdn/include/Q921priv.h static void Q921T203TimerStart(L2TRUNK trunk, L2UCHAR tei);
trunk             233 src/isdn/include/Q921priv.h static void Q921T203TimerStop(L2TRUNK trunk, L2UCHAR tei);
trunk             234 src/isdn/include/Q921priv.h static void Q921T203TimerReset(L2TRUNK trunk, L2UCHAR tei);
trunk             235 src/isdn/include/Q921priv.h static void Q921T203TimerExpire(L2TRUNK trunk, L2UCHAR tei);
trunk             237 src/isdn/include/Q921priv.h static void Q921TM01TimerStart(L2TRUNK trunk, L2UCHAR tei);
trunk             239 src/isdn/include/Q921priv.h static void Q921TM01TimerReset(L2TRUNK trunk, L2UCHAR tei);
trunk             245 src/isdn/include/Q921priv.h static int Q921SendS(L2TRUNK trunk, L2UCHAR Sapi, char cr, L2UCHAR Tei, char pf, L2UCHAR sv, L2UCHAR *mes, L2INT size);
trunk             246 src/isdn/include/Q921priv.h static int Q921SendU(L2TRUNK trunk, L2UCHAR Sapi, char cr, L2UCHAR Tei, char pf, L2UCHAR m, L2UCHAR *mes, L2INT size);
trunk             248 src/isdn/include/Q921priv.h static int Q921SendRNR(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf);
trunk             249 src/isdn/include/Q921priv.h static int Q921SendREJ(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf);
trunk             250 src/isdn/include/Q921priv.h static int Q921SendSABME(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf);
trunk             251 src/isdn/include/Q921priv.h static int Q921SendDM(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf);
trunk             252 src/isdn/include/Q921priv.h static int Q921SendDISC(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf);
trunk             253 src/isdn/include/Q921priv.h static int Q921SendUA(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf);
trunk             254 src/isdn/include/Q921priv.h static int Q921SendUN(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf, L2UCHAR *mes, L2INT size);
trunk             255 src/isdn/include/Q921priv.h static int Q921SendRR(L2TRUNK trunk, int Sapi, int cr, int Tei, int pf);
trunk             260 src/isdn/include/Q921priv.h static int Q921ProcIFrame(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             261 src/isdn/include/Q921priv.h static int Q921ProcSFrame(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             262 src/isdn/include/Q921priv.h static int Q921ProcUFrame(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             264 src/isdn/include/Q921priv.h static int Q921ProcSABME(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             265 src/isdn/include/Q921priv.h static int Q921ProcDM(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             266 src/isdn/include/Q921priv.h static int Q921ProcUA(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             267 src/isdn/include/Q921priv.h static int Q921ProcDISC(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             268 src/isdn/include/Q921priv.h static int Q921ProcRR(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             269 src/isdn/include/Q921priv.h static int Q921ProcRNR(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             270 src/isdn/include/Q921priv.h static int Q921ProcREJ(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             276 src/isdn/include/Q921priv.h static int Q921SendEnquiry(L2TRUNK trunk, L2UCHAR tei);
trunk             277 src/isdn/include/Q921priv.h static int Q921SendEnquiryResponse(L2TRUNK trunk, L2UCHAR tei);
trunk             278 src/isdn/include/Q921priv.h static void Q921ResetExceptionConditions(L2TRUNK trunk, L2UCHAR tei);
trunk             279 src/isdn/include/Q921priv.h static int Q921EstablishDataLink(L2TRUNK trunk, L2UCHAR tei);
trunk             280 src/isdn/include/Q921priv.h static int Q921NrErrorRecovery(L2TRUNK trunk, L2UCHAR tei);
trunk             281 src/isdn/include/Q921priv.h static int Q921InvokeRetransmission(L2TRUNK trunk, L2UCHAR tei, L2UCHAR nr);
trunk             282 src/isdn/include/Q921priv.h static int Q921AcknowledgePending(L2TRUNK trunk, L2UCHAR tei);
trunk             291 src/isdn/include/Q921priv.h static int Q921SendQueuedIFrame(L2TRUNK trunk, L2UCHAR tei);
trunk             292 src/isdn/include/Q921priv.h static int Q921EnqueueI(L2TRUNK trunk, L2UCHAR Sapi, char cr, L2UCHAR Tei, char pf, L2UCHAR *mes, L2INT size);
trunk             297 src/isdn/include/Q921priv.h static int Q921TeiSendAssignRequest(L2TRUNK trunk);
trunk             298 src/isdn/include/Q921priv.h static int Q921TeiProcAssignResponse(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             299 src/isdn/include/Q921priv.h static int Q921TeiSendVerifyRequest(L2TRUNK trunk);
trunk             300 src/isdn/include/Q921priv.h static int Q921TeiProcCheckRequest(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             301 src/isdn/include/Q921priv.h static int Q921TeiProcRemoveRequest(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             302 src/isdn/include/Q921priv.h static int Q921TeiProcAssignRequest(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             303 src/isdn/include/Q921priv.h static int Q921TeiProcCheckResponse(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             304 src/isdn/include/Q921priv.h static int Q921TeiProcVerifyRequest(L2TRUNK trunk, L2UCHAR *mes, L2INT size);
trunk             305 src/isdn/include/Q921priv.h static int Q921TeiSendRemoveRequest(L2TRUNK trunk, L2UCHAR tei);
trunk             306 src/isdn/include/Q921priv.h static int Q921TeiSendDenyResponse(L2TRUNK trunk, L2UCHAR tei, L2USHORT ri);
trunk             307 src/isdn/include/Q921priv.h static int Q921TeiSendAssignedResponse(L2TRUNK trunk, L2UCHAR tei, L2USHORT ri);
trunk             308 src/isdn/include/Q921priv.h static int Q921TeiSendCheckRequest(L2TRUNK trunk, L2UCHAR tei);
trunk             313 src/isdn/include/Q921priv.h static int Q921Log(L2TRUNK trunk, Q921LogLevel_t level, const char *fmt, ...);
trunk             314 src/isdn/include/Q921priv.h static int Q921LogMesg(L2TRUNK trunk, Q921LogLevel_t level, L2UCHAR received, L2UCHAR *mes, L2INT size, const char *fmt, ...);
trunk             319 src/isdn/include/Q921priv.h static int Q921ChangeState(L2TRUNK trunk, Q921State_t state, L2UCHAR tei);
trunk            1158 src/isdn/include/Q931.h L3INT Q931Log(Q931_TrunkInfo_t *trunk, Q931LogLevel_t level, const char *fmt, ...);
trunk            1159 src/isdn/include/Q931.h void Q931SetLogCB(Q931_TrunkInfo_t *trunk, Q931LogCB_t func, void *priv);
trunk            1160 src/isdn/include/Q931.h void Q931SetLogLevel(Q931_TrunkInfo_t *trunk, Q931LogLevel_t level);