Added redirecting number.
NOTE: mISDNuser and all applications must be recompiled!!! Modified Files: mISDN/drivers/isdn/hardware/mISDN/dss1.h mISDN/drivers/isdn/hardware/mISDN/l3_udss1.c mISDN/drivers/isdn/hardware/mISDN/l3helper.c mISDN/include/linux/mISDNif.h
This commit is contained in:
parent
d300bb238d
commit
19a3869229
|
@ -109,6 +109,7 @@
|
|||
#define IE_CALLED_PN 0x70
|
||||
#define IE_CALLED_SUB 0x71
|
||||
#define IE_REDIR_NR 0x74
|
||||
#define IE_REDIR_DN 0x76
|
||||
#define IE_TRANS_SEL 0x78
|
||||
#define IE_RESTART_IND 0x79
|
||||
#define IE_LLC 0x7c
|
||||
|
|
|
@ -245,7 +245,7 @@ compose_msg(struct sk_buff *skb, Q931_info_t *qi)
|
|||
*p = buf[qi->congestion_level.off];
|
||||
}
|
||||
ie = &qi->bearer_capability;
|
||||
for (i=0; i<32; i++) {
|
||||
for (i=0; i<33; i++) {
|
||||
if (ie[i].off) {
|
||||
l = buf[ie[i].off + 1] +1;
|
||||
p = skb_put(skb, l + 1);
|
||||
|
@ -414,10 +414,10 @@ l3dss1_msg_without_setup(l3_process_t *pc, u_char cause)
|
|||
}
|
||||
|
||||
static int ie_ALERTING[] = {IE_BEARER, IE_CHANNEL_ID | IE_MANDATORY_1,
|
||||
IE_FACILITY, IE_PROGRESS, IE_DISPLAY, IE_SIGNAL, IE_HLC,
|
||||
IE_USER_USER, -1};
|
||||
IE_FACILITY, IE_PROGRESS, IE_DISPLAY, IE_SIGNAL, IE_REDIR_DN,
|
||||
IE_HLC, IE_USER_USER, -1};
|
||||
static int ie_CALL_PROCEEDING[] = {IE_BEARER, IE_CHANNEL_ID | IE_MANDATORY_1,
|
||||
IE_FACILITY, IE_PROGRESS, IE_DISPLAY, IE_HLC, -1};
|
||||
IE_FACILITY, IE_PROGRESS, IE_DISPLAY, IE_REDIR_DN, IE_HLC, -1};
|
||||
static int ie_CONNECT[] = {IE_BEARER, IE_CHANNEL_ID | IE_MANDATORY_1,
|
||||
IE_FACILITY, IE_PROGRESS, IE_DISPLAY, IE_DATE, IE_SIGNAL,
|
||||
IE_CONNECT_PN, IE_CONNECT_SUB, IE_LLC, IE_HLC, IE_USER_USER, -1};
|
||||
|
@ -501,6 +501,7 @@ struct ie_len max_ie_len[] = {
|
|||
{IE_CALLED_PN, 24},
|
||||
{IE_CALLED_SUB, 23},
|
||||
{IE_REDIR_NR, 255},
|
||||
{IE_REDIR_DN, 255},
|
||||
{IE_TRANS_SEL, 255},
|
||||
{IE_RESTART_IND, 3},
|
||||
{IE_LLC, 18},
|
||||
|
@ -552,7 +553,7 @@ check_infoelements(l3_process_t *pc, struct sk_buff *skb, int *checklist)
|
|||
iep = &qi->bearer_capability;
|
||||
oldpos = -1;
|
||||
|
||||
for (i=0; i<32; i++) {
|
||||
for (i=0; i<33; i++) {
|
||||
if (iep[i].off) {
|
||||
ie = mISDN_l3_pos2ie(i);
|
||||
if ((newpos = ie_in_set(pc, ie, cl))) {
|
||||
|
|
|
@ -22,14 +22,15 @@ static signed char _mISDN_l3_ie2pos[128] = {
|
|||
13,-1,14,15,16,17,18,19,-1,-1,-1,-1,20,21,-1,-1,
|
||||
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
|
||||
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,22,23,-1,-1,
|
||||
24,25,-1,-1,26,-1,-1,-1,27,28,-1,-1,29,30,31,-1
|
||||
24,25,-1,-1,26,-1,27,-1,28,29,-1,-1,30,31,32,-1
|
||||
};
|
||||
|
||||
static unsigned char _mISDN_l3_pos2ie[32] = {
|
||||
static unsigned char _mISDN_l3_pos2ie[33] = {
|
||||
0x04, 0x08, 0x10, 0x14, 0x18, 0x1c, 0x1e, 0x20,
|
||||
0x27, 0x28, 0x29, 0x2c, 0x34, 0x40, 0x42, 0x43,
|
||||
0x44, 0x45, 0x46, 0x47, 0x4c, 0x4d, 0x6c, 0x6d,
|
||||
0x70, 0x71, 0x74, 0x78, 0x79, 0x7c, 0x7d, 0x7e
|
||||
0x70, 0x71, 0x74, 0x76, 0x78, 0x79, 0x7c, 0x7d,
|
||||
0x7e
|
||||
};
|
||||
|
||||
signed int
|
||||
|
@ -224,7 +225,7 @@ void mISDN_LogL3Msg(struct sk_buff *skb)
|
|||
ps += L3_EXTRA_SIZE;
|
||||
printk(KERN_DEBUG "L3Msg type(%02x) qi(%p) ies(%p) ps(%p)\n",
|
||||
qi->type, qi, ies, ps);
|
||||
for (i=0;i<32;i++) {
|
||||
for (i=0;i<33;i++) {
|
||||
if (ies[i].off) {
|
||||
p = ps + ies[i].off;
|
||||
t = tmp;
|
||||
|
|
|
@ -728,6 +728,7 @@ typedef struct _Q931_info {
|
|||
ie_info_t called_nr;
|
||||
ie_info_t called_sub;
|
||||
ie_info_t redirect_nr;
|
||||
ie_info_t redirect_dn;
|
||||
ie_info_t transit_net_sel;
|
||||
ie_info_t restart_ind;
|
||||
ie_info_t llc;
|
||||
|
|
Loading…
Reference in New Issue