bayonne-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bayonne-devel] Dialogic D41/H drivers & call progress detection...


From: Robert Shady
Subject: [Bayonne-devel] Dialogic D41/H drivers & call progress detection...
Date: Fri, 19 Nov 2004 02:24:18 -0500

Does the new version support call-progress detection on the
dialogic D41/H cards?  I've really been missing that...
 
-- Rob
 
----- Original Message -----
Sent: Thursday, November 18, 2004 3:18 PM
Subject: [Bayonne-devel] Dialogic/drivers.cpp Improvement in alarm logging.

For those who use ISDN I suggest implementing the current modification to improve alarm logging

 

// Dialogic/drivers.cpp Improvement in alarm logging.

// Now we can tell in the log witch T1/E1 as experienced an alarm like bad clocking

 

 

 

 

            //This error indicate a problem in the Dialogic layer it should a least be reported

case DTEV_ERREVT:     

                    slog(Slog::levelError) << "EVENT DTEV_ERREVT: DEVICE:" << sr_getevtdev()  << endl;

                        break;

           

           

            case DTEV_T1ERRC:

                  // this needs fixing, we should find the right span involved

                  // This is the fixed version

                 

                  if(isdn_count)

                  {

                   int span;

                   for(span = 1; span <= getSpanCount(); span++)

                   {

                    isdn = getSpan(span);

                          iface = isdn->getInterface();

                          if(isdn->isdev == sr_getevtdev())

                          break;

                   }

                  }

                  else

                  iface = trunk->interface;

                  alarmp = (unsigned char *)sr_getevtdatap();

 

                  switch(iface)

                  {

                  case NT_T1:

                               

                        switch(*alarmp)

                        {

                        case DTT1_RLOS:

                              slog(Slog::levelError) << "dialogic: remote loss of sync alarm T1-"<<isdn->isspan << endl;

                              break;

                        case DTT1_LOS:

                              slog(Slog::levelError) << "dialogic: local loss of sync alarm T1-"<<isdn->isspan << endl;

                              break;

                        case DTT1_DPM:

                              slog(Slog::levelError) << "dialogic: performance monitor alarm T1-"<<isdn->isspan << endl;

                              break;

                        case DTT1_RED:

                              slog(Slog::levelError) << "dialogic: T1 red alarm T1-"<< isdn->isspan << endl;

                              break;

                        case DTT1_BPVS:

                              slog(Slog::levelError) << "dialogic: bipolar violation alarm T1-" <<isdn->isspan << endl;

                              break;

                        case DTT1_ECS:

                              slog(Slog::levelError) << "dialogic: error count saturation alarm T1-"<<isdn->isspan << endl;

                              break;

                        case DTT1_RYEL:

                              slog(Slog::levelError) << "dialogic: T1 yellow alarm T1-"<<isdn->isspan << endl;

                              break;

                        case DTT1_RCL:

                              slog(Slog::levelError) << "dialogic: carrier lost alarm T1-"<<isdn->isspan << endl;

                              break;

                        case DTT1_FERR:

                              slog(Slog::levelError) << "dialogic: frame bit error alarm T1-"<<isdn->isspan << endl;

                              break;

                        case DTT1_B8ZSD:

                              slog(Slog::levelError) << "dialogic: bipolar eight zero substitution alarm T1-"<< isdn->isspan << endl;

                              break;

                        case DTT1_RBL:

                              slog(Slog::levelError) << "dialogic: T1 blue alarm T1-"<<isdn->isspan << endl;

                              break;

                        case DTT1_OOF:

                              slog(Slog::levelError) << "dialogic: out of frame error alarm T1-"<<isdn->isspan << endl;

                              break;

                        case DTT1_B8ZSDOK:

                              // sample alarm handling code from Intel suggests we should

                              // disable this alarm once we receive it once...

                              param = DTSP_B8ZS;

                              dt_setparm(evdev, DTG_CODESUPR, (void *)&param);

                              dt_setevtmsk(evdev, DTG_T1ERREVT, DTEC_B8ZSD, DTA_SUBMSK);

                        case DTT1_RLOSOK:

                        case DTT1_LOSOK:

                        case DTT1_REDOK:

                        case DTT1_BPVSOK:

                        case DTT1_ECSOK:

                        case DTT1_RYELOK:

                        case DTT1_RCLOK:

                        case DTT1_FERROK:

                        case DTT1_RBLOK:

                        case DTT1_OOFOK:

                              slog(Slog::levelError) << "dialogic: alarm recovery T1-"<<isdn->isspan << endl;

                              break;

                        }

                        break;

                  case NT_E1:

                        switch(*alarmp)

                        {

                        case DTE1_LOS:

                              slog(Slog::levelError) << "dialogic: local loss of sync alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_DPM:

                              slog(Slog::levelError) << "dialogic: performance monitor alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_BPVS:

                              slog(Slog::levelError) << "dialogic: bipolar violation alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_ECS:

                              slog(Slog::levelError) << "dialogic: error count saturation alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_RRA:

                              slog(Slog::levelError) << "dialogic: received remote alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_FSERR:

                              slog(Slog::levelError) << "dialogic: frame sync alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_RUA1:

                              slog(Slog::levelError) << "dialogic: unframed all 1's alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_RLOS:

                              slog(Slog::levelError) << "dialogic: remote loss of sync alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_MFSERR:

                              slog(Slog::levelError) << "dialogic: multiframe sync alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_RSA1:

                              slog(Slog::levelError) << "dialogic: signalling all 1's alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_RDMA:

                              slog(Slog::levelError) << "dialogic: distant multiframe alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_CECS:

                              slog(Slog::levelError) << "dialogic: CRC4 error count alarm E1-"<<isdn->isspan << endl;

                              break;

                        case DTE1_LOSOK:

                        case DTE1_DPMOK:

                        case DTE1_BPVSOK:

                        case DTE1_ECSOK:

                        case DTE1_RRAOK:

                        case DTE1_FSERROK:

                        case DTE1_RUA1OK:

                        case DTE1_RLOSOK:

                        case DTE1_MFSERROK:

                        case DTE1_RSA1OK:

                        case DTE1_RDMAOK:

                        case DTE1_CECSOK:

                              slog(Slog::levelError) << "dialogic: alarm recovery E1-"<<isdn->isspan << endl;

                              break;

                        }

                  }

                  break;


_______________________________________________
Bayonne-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/bayonne-devel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]