trunk 536 src/ftmod/ftmod_isdn/ftmod_isdn.c Q931_TrunkInfo_t *trunk = NULL; trunk 542 src/ftmod/ftmod_isdn/ftmod_isdn.c trunk = Q931CallGetTrunk(call); trunk 543 src/ftmod/ftmod_isdn/ftmod_isdn.c assert(trunk); 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);