[libss7-commits] mattf: trunk r140 - in /trunk: isup.c libss7.h
SVN commits to the libss7 project
libss7-commits at lists.digium.com
Mon Feb 18 14:52:39 CST 2008
Author: mattf
Date: Mon Feb 18 14:52:38 2008
New Revision: 140
URL: http://svn.digium.com/view/libss7?view=rev&rev=140
Log:
Fix for 11779. Allow different point codes in same linkset
Modified:
trunk/isup.c
trunk/libss7.h
Modified: trunk/isup.c
URL: http://svn.digium.com/view/libss7/trunk/isup.c?view=diff&rev=140&r1=139&r2=140
==============================================================================
--- trunk/isup.c (original)
+++ trunk/isup.c Mon Feb 18 14:52:38 2008
@@ -2559,11 +2559,13 @@
e->iam.lspi_context = c->lspi_context;
strncpy(e->iam.lspi_ident, c->lspi_ident, sizeof(e->iam.lspi_ident));
e->iam.call = c;
+ e->iam.opc = opc; /* keep OPC information */
return 0;
case ISUP_CQM:
e->e = ISUP_EVENT_CQM;
e->cqm.startcic = cic;
e->cqm.endcic = cic + c->range;
+ e->cqm.opc = opc; /* keep OPC information */
isup_free_call(ss7, c); /* Won't need this again */
return 0;
case ISUP_GRS:
@@ -2571,6 +2573,7 @@
e->grs.startcic = cic;
e->grs.endcic = cic + c->range;
isup_free_call(ss7, c); /* Won't need this again */
+ e->grs.opc = opc; /* keep OPC information */
return 0;
case ISUP_GRA:
e->e = ISUP_EVENT_GRA;
@@ -2578,6 +2581,7 @@
e->gra.endcic = cic + c->range;
for (i = 0; i < (c->range + 1); i++)
e->gra.status[i] = c->status[i];
+ e->gra.opc = opc; /* keep OPC information */
isup_free_call(ss7, c); /* Won't need this again */
return 0;
@@ -2585,12 +2589,14 @@
e->e = ISUP_EVENT_RSC;
e->rsc.cic = cic;
e->rsc.call = c;
+ e->rsc.opc = opc; /* keep OPC information */
return 0;
case ISUP_REL:
e->e = ISUP_EVENT_REL;
e->rel.cic = c->cic;
e->rel.call = c;
e->rel.cause = c->cause;
+ e->rel.opc = opc; /* keep OPC information */
return 0;
case ISUP_ACM:
e->e = ISUP_EVENT_ACM;
@@ -2598,20 +2604,24 @@
e->acm.call_ref_ident = c->call_ref_ident;
e->acm.call_ref_pc = c->call_ref_pc;
e->acm.call = c;
+ e->acm.opc = opc; /* keep OPC information */
return 0;
case ISUP_CON:
e->e = ISUP_EVENT_CON;
e->con.cic = c->cic;
e->con.call = c;
+ e->con.opc = opc; /* keep OPC information */
return 0;
case ISUP_ANM:
e->e = ISUP_EVENT_ANM;
e->anm.cic = c->cic;
e->anm.call = c;
+ e->anm.opc = opc; /* keep OPC information */
return 0;
case ISUP_RLC:
e->e = ISUP_EVENT_RLC;
e->rlc.cic = c->cic;
+ e->rlc.opc = opc; /* keep OPC information */
isup_free_call(ss7, c);
return 0;
case ISUP_COT:
@@ -2619,35 +2629,42 @@
e->cot.cic = c->cic;
e->cot.passed = c->cot_check_passed;
e->cot.call = c;
+ e->cot.opc = opc; /* keep OPC information */
return 0;
case ISUP_CCR:
e->e = ISUP_EVENT_CCR;
e->ccr.cic = c->cic;
+ e->ccr.opc = opc; /* keep OPC information */
isup_free_call(ss7, c);
return 0;
case ISUP_BLO:
e->e = ISUP_EVENT_BLO;
e->blo.cic = c->cic;
+ e->blo.opc = opc; /* keep OPC information */
isup_free_call(ss7, c);
return 0;
case ISUP_UBL:
e->e = ISUP_EVENT_UBL;
e->ubl.cic = c->cic;
+ e->ubl.opc = opc; /* keep OPC information */
isup_free_call(ss7, c);
return 0;
case ISUP_BLA:
e->e = ISUP_EVENT_BLA;
e->bla.cic = c->cic;
+ e->bla.opc = opc; /* keep OPC information */
isup_free_call(ss7, c);
return 0;
case ISUP_LPA:
e->e = ISUP_EVENT_LPA;
e->lpa.cic = c->cic;
+ e->lpa.opc = opc; /* keep OPC information */
isup_free_call(ss7, c);
return 0;
case ISUP_UBA:
e->e = ISUP_EVENT_UBA;
e->uba.cic = c->cic;
+ e->uba.opc = opc; /* keep OPC information */
isup_free_call(ss7, c);
return 0;
case ISUP_CGB:
@@ -2658,6 +2675,7 @@
for (i = 0; i < (c->range + 1); i++)
e->cgb.status[i] = c->status[i];
+ e->cgb.opc = opc; /* keep OPC information */
isup_free_call(ss7, c);
return 0;
@@ -2669,17 +2687,20 @@
for (i = 0; i < (c->range + 1); i++)
e->cgu.status[i] = c->status[i];
+ e->cgu.opc = opc; /* keep OPC information */
isup_free_call(ss7, c);
return 0;
case ISUP_CPG:
e->e = ISUP_EVENT_CPG;
e->cpg.cic = c->cic;
+ e->cpg.opc = opc; /* keep OPC information */
e->cpg.event = c->event_info;
return 0;
case ISUP_UCIC:
e->e = ISUP_EVENT_UCIC;
e->ucic.cic = c->cic;
+ e->ucic.opc = opc; /* keep OPC information */
isup_free_call(ss7, c);
return 0;
case ISUP_FAA:
@@ -2687,6 +2708,7 @@
e->faa.cic = c->cic;
e->faa.call_ref_ident = c->call_ref_ident;
e->faa.call_ref_pc = c->call_ref_pc;
+ e->ucic.opc = opc; /* keep OPC information */
e->faa.call = c;
return 0;
case ISUP_FAR:
@@ -2694,6 +2716,7 @@
e->far.cic = c->cic;
e->far.call_ref_ident = c->call_ref_ident;
e->far.call_ref_pc = c->call_ref_pc;
+ e->ucic.opc = opc; /* keep OPC information */
e->far.call = c;
return 0;
default:
Modified: trunk/libss7.h
URL: http://svn.digium.com/view/libss7/trunk/libss7.h?view=diff&rev=140&r1=139&r2=140
==============================================================================
--- trunk/libss7.h (original)
+++ trunk/libss7.h Mon Feb 18 14:52:38 2008
@@ -130,6 +130,7 @@
unsigned char lspi_spare;
char lspi_ident[50];
int oli_ani2;
+ unsigned int opc;
struct isup_call *call;
} ss7_event_iam;
@@ -137,29 +138,34 @@
int e;
int cic;
int cause;
+ unsigned int opc;
struct isup_call *call;
} ss7_event_rel;
typedef struct {
int e;
int cic;
+ unsigned int opc;
} ss7_event_ciconly;
typedef struct {
int e;
int cic;
+ unsigned int opc;
struct isup_call *call;
} ss7_event_con;
typedef struct {
int e;
int cic;
+ unsigned int opc;
struct isup_call *call;
} ss7_event_rsc;
typedef struct {
int e;
int cic;
+ unsigned int opc;
struct isup_call *call;
} ss7_event_anm;
@@ -168,6 +174,7 @@
int cic;
unsigned int call_ref_ident;
unsigned int call_ref_pc;
+ unsigned int opc;
struct isup_call *call;
} ss7_event_acm;
@@ -176,6 +183,7 @@
int startcic;
int endcic;
int type;
+ unsigned int opc;
unsigned char status[255];
} ss7_event_cicrange;
@@ -183,6 +191,7 @@
int e;
int cic;
int passed;
+ unsigned int opc;
struct isup_call *call;
} ss7_event_cot;
@@ -194,6 +203,7 @@
typedef struct {
int e;
int cic;
+ unsigned int opc;
unsigned char event;
} ss7_event_cpg;
@@ -202,6 +212,7 @@
int cic;
unsigned int call_ref_ident;
unsigned int call_ref_pc;
+ unsigned int opc;
struct isup_call *call;
} ss7_event_faa;
@@ -210,6 +221,7 @@
int cic;
unsigned int call_ref_ident;
unsigned int call_ref_pc;
+ unsigned int opc;
struct isup_call *call;
} ss7_event_far;
More information about the libss7-commits
mailing list