[libss7-commits] mattf: trunk r148 - in /trunk: isup.c isup.h mtp3.c mtp3.h ss7_internal.h
SVN commits to the libss7 project
libss7-commits at lists.digium.com
Fri Mar 21 16:21:58 CDT 2008
Author: mattf
Date: Fri Mar 21 16:21:57 2008
New Revision: 148
URL: http://svn.digium.com/view/libss7?view=rev&rev=148
Log:
Some rearrangement for getting the SLS right for ANSI
Modified:
trunk/isup.c
trunk/isup.h
trunk/mtp3.c
trunk/mtp3.h
trunk/ss7_internal.h
Modified: trunk/isup.c
URL: http://svn.digium.com/view/libss7/trunk/isup.c?view=diff&rev=148&r1=147&r2=148
==============================================================================
--- trunk/isup.c (original)
+++ trunk/isup.c Fri Mar 21 16:21:57 2008
@@ -2033,13 +2033,13 @@
c->dpc = dpc;
}
-static struct isup_call * isup_find_call(struct ss7 *ss7, unsigned int opc, int cic)
+static struct isup_call * isup_find_call(struct ss7 *ss7, struct routing_label *rl, int cic)
{
struct isup_call *cur, *winner = NULL;
cur = ss7->calls;
while (cur) {
- if ((cur->cic == cic) && (cur->dpc == opc)) {
+ if ((cur->cic == cic) && (cur->dpc == rl->opc)) {
winner = cur;
break;
}
@@ -2049,7 +2049,8 @@
if (!winner) {
winner = __isup_new_call(ss7, 0);
winner->cic = cic;
- winner->dpc = opc;
+ winner->dpc = rl->opc;
+ winner->sls = rl->sls;
}
return winner;
@@ -2443,7 +2444,7 @@
return 0;
}
-int isup_receive(struct ss7 *ss7, struct mtp2 *link, unsigned int opc, unsigned char *buf, int len)
+int isup_receive(struct ss7 *ss7, struct mtp2 *link, struct routing_label *rl, unsigned char *buf, int len)
{
unsigned short cic;
struct isup_h *mh;
@@ -2455,6 +2456,7 @@
int fixedparams = 0, varparams = 0, optparams = 0;
int res, x;
unsigned char *opt_ptr = NULL;
+ unsigned int opc = rl->opc;
ss7_event *e;
@@ -2508,11 +2510,11 @@
case ISUP_LPA:
case ISUP_CCR:
c = __isup_new_call(ss7, 1);
- c->dpc = opc;
+ c->dpc = rl->opc;
c->cic = cic;
break;
default:
- c = isup_find_call(ss7, opc, cic);
+ c = isup_find_call(ss7, rl, cic);
}
if (!c) {
Modified: trunk/isup.h
URL: http://svn.digium.com/view/libss7/trunk/isup.h?view=diff&rev=148&r1=147&r2=148
==============================================================================
--- trunk/isup.h (original)
+++ trunk/isup.h Fri Mar 21 16:21:57 2008
@@ -14,6 +14,8 @@
*/
#ifndef _SS7_ISUP_H
#define _SS7_ISUP_H
+
+#include "ss7_internal.h"
/* ISUP messages */
#define ISUP_IAM 0x01
@@ -179,13 +181,13 @@
int cicgroupsupervisiontype;
unsigned char event_info;
unsigned short cic;
- unsigned short slc;
+ unsigned short sls;
struct isup_call *next;
/* set DPC according to CIC's DPC, not linkset */
unsigned int dpc;
};
-int isup_receive(struct ss7 *ss7, struct mtp2 *sl, unsigned int opc, unsigned char *sif, int len);
+int isup_receive(struct ss7 *ss7, struct mtp2 *sl, struct routing_label *rl, unsigned char *sif, int len);
int isup_dump(struct ss7 *ss7, struct mtp2 *sl, unsigned char *sif, int len);
#endif /* _SS7_ISUP_H */
Modified: trunk/mtp3.c
URL: http://svn.digium.com/view/libss7/trunk/mtp3.c?view=diff&rev=148&r1=147&r2=148
==============================================================================
--- trunk/mtp3.c (original)
+++ trunk/mtp3.c Fri Mar 21 16:21:57 2008
@@ -528,7 +528,7 @@
return std_test_receive(ss7, link, sif, siflen);
case SIG_ISUP:
/* Skip the routing label */
- return isup_receive(ss7, link, rl.opc, sif + rlsize, siflen - rlsize);
+ return isup_receive(ss7, link, &rl, sif + rlsize, siflen - rlsize);
case SIG_NET_MNG:
return net_mng_receive(ss7, link, sif, siflen);
case SIG_SCCP:
Modified: trunk/mtp3.h
URL: http://svn.digium.com/view/libss7/trunk/mtp3.h?view=diff&rev=148&r1=147&r2=148
==============================================================================
--- trunk/mtp3.h (original)
+++ trunk/mtp3.h Fri Mar 21 16:21:57 2008
@@ -13,6 +13,8 @@
*/
#ifndef _MTP3_H
#define _MTP3_H
+
+#include "ss7_internal.h"
/* Service Indicator bits for Service Information Octet */
/* Bits 4-1 */
@@ -33,15 +35,6 @@
#define MTP2_LINKSTATE_INALARM 1
#define MTP2_LINKSTATE_ALIGNING 2
#define MTP2_LINKSTATE_UP 3
-
-typedef unsigned int point_code;
-
-struct routing_label {
- unsigned int type;
- point_code dpc;
- point_code opc;
- unsigned char sls;
-};
struct net_mng_message {
int h0;
Modified: trunk/ss7_internal.h
URL: http://svn.digium.com/view/libss7/trunk/ss7_internal.h?view=diff&rev=148&r1=147&r2=148
==============================================================================
--- trunk/ss7_internal.h (original)
+++ trunk/ss7_internal.h Fri Mar 21 16:21:57 2008
@@ -17,8 +17,8 @@
#include <sys/time.h>
#include <stdio.h>
#include "libss7.h"
-#include "mtp2.h"
-#include "mtp3.h"
+/* #include "mtp2.h" */
+/* #include "mtp3.h" */
/* ISUP parameters */
@@ -39,8 +39,17 @@
#define SS7_STATE_DOWN 0
#define SS7_STATE_UP 1
+typedef unsigned int point_code;
+
+struct routing_label {
+ unsigned int type;
+ point_code dpc;
+ point_code opc;
+ unsigned char sls;
+};
+
struct ss7_msg {
- unsigned char buf[MTP_MAX_SIZE];
+ unsigned char buf[512];
unsigned int size;
struct ss7_msg *next;
};
More information about the libss7-commits
mailing list