Logo Search packages:      
Sourcecode: linux version File versions  Download package

l3ni1.h

/* $Id: l3ni1.h,v 2.3.6.2 2001/09/23 22:24:50 kai Exp $
 *
 * NI1 D-channel protocol
 *
 * Author       Matt Henderson & Guy Ellis
 * Copyright    by Traverse Technologies Pty Ltd, www.travers.com.au
 * 
 * This software may be used and distributed according to the terms
 * of the GNU General Public License, incorporated herein by reference.
 *
 * 2000.6.6 Initial implementation of routines for US NI1 
 * Layer 3 protocol based on the EURO/DSS1 D-channel protocol 
 * driver written by Karsten Keil et al.  Thanks also for the 
 * code provided by Ragnar Paulson.
 *
 */

#ifndef l3ni1_process

#define T302      15000
#define T303      4000
#define T304      30000
#define T305      30000
#define T308      4000
/* for layer 1 certification T309 < layer1 T3 (e.g. 4000) */
/* This makes some tests easier and quicker */
#define T309      40000
#define T310      30000
#define T313      4000
#define T318      4000
#define T319      4000
#define TSPID     5000 /* was 2000 - Guy Ellis */

/*
 * Message-Types
 */

#define MT_ALERTING           0x01
#define MT_CALL_PROCEEDING    0x02
#define MT_CONNECT            0x07
#define MT_CONNECT_ACKNOWLEDGE      0x0f
#define MT_PROGRESS           0x03
#define MT_SETUP        0x05
#define MT_SETUP_ACKNOWLEDGE  0x0d
#define MT_RESUME       0x26
#define MT_RESUME_ACKNOWLEDGE 0x2e
#define MT_RESUME_REJECT      0x22
#define MT_SUSPEND            0x25
#define MT_SUSPEND_ACKNOWLEDGE      0x2d
#define MT_SUSPEND_REJECT     0x21
#define MT_USER_INFORMATION   0x20
#define MT_DISCONNECT         0x45
#define MT_RELEASE            0x4d
#define MT_RELEASE_COMPLETE   0x5a
#define MT_RESTART            0x46
#define MT_RESTART_ACKNOWLEDGE      0x4e
#define MT_SEGMENT            0x60
#define MT_CONGESTION_CONTROL 0x79
#define MT_INFORMATION        0x7b
#define MT_FACILITY           0x62
#define MT_NOTIFY       0x6e
#define MT_STATUS       0x7d
#define MT_STATUS_ENQUIRY     0x75
#define MT_DL_ESTABLISHED     0xfe

#define IE_SEGMENT      0x00
#define IE_BEARER 0x04
#define IE_CAUSE  0x08
#define IE_CALL_ID      0x10
#define IE_CALL_STATE   0x14
#define IE_CHANNEL_ID   0x18
#define IE_FACILITY     0x1c
#define IE_PROGRESS     0x1e
#define IE_NET_FAC      0x20
#define IE_NOTIFY 0x27
#define IE_DISPLAY      0x28
#define IE_DATE         0x29
#define IE_KEYPAD 0x2c
#define IE_SIGNAL 0x34
#define IE_SPID         0x3a
#define IE_ENDPOINT_ID  0x3b
#define IE_INFORATE     0x40
#define IE_E2E_TDELAY   0x42
#define IE_TDELAY_SEL   0x43
#define IE_PACK_BINPARA 0x44
#define IE_PACK_WINSIZE 0x45
#define IE_PACK_SIZE    0x46
#define IE_CUG          0x47
#define     IE_REV_CHARGE     0x4a
#define IE_CONNECT_PN   0x4c
#define IE_CONNECT_SUB  0x4d
#define IE_CALLING_PN   0x6c
#define IE_CALLING_SUB  0x6d
#define IE_CALLED_PN    0x70
#define IE_CALLED_SUB   0x71
#define IE_REDIR_NR     0x74
#define IE_TRANS_SEL    0x78
#define IE_RESTART_IND  0x79
#define IE_LLC          0x7c
#define IE_HLC          0x7d
#define IE_USER_USER    0x7e
#define IE_ESCAPE 0x7f
#define IE_SHIFT  0x90
#define IE_MORE_DATA    0xa0
#define IE_COMPLETE     0xa1
#define IE_CONGESTION   0xb0
#define IE_REPEAT 0xd0

#define IE_MANDATORY    0x0100
/* mandatory not in every case */
#define IE_MANDATORY_1  0x0200

#define ERR_IE_COMPREHENSION   1
#define ERR_IE_UNRECOGNIZED   -1
#define ERR_IE_LENGTH         -2
#define ERR_IE_SEQUENCE       -3

#else /* only l3ni1_process */

/* l3ni1 specific data in l3 process */
typedef struct
  { unsigned char invoke_id; /* used invoke id in remote ops, 0 = not active */
    ulong ll_id; /* remebered ll id */
    u8 remote_operation; /* handled remote operation, 0 = not active */ 
    int proc; /* rememered procedure */  
    ulong remote_result; /* result of remote operation for statcallb */
    char uus1_data[35]; /* data send during alerting or disconnect */
  } ni1_proc_priv;

/* l3dni1 specific data in protocol stack */
typedef struct
  { unsigned char last_invoke_id; /* last used value for invoking */
    unsigned char invoke_used[32]; /* 256 bits for 256 values */
  } ni1_stk_priv;        

#endif /* only l3dni1_process */

Generated by  Doxygen 1.6.0   Back to index