146 lines
5.5 KiB
C
146 lines
5.5 KiB
C
/*****************************************************************************\
|
|
** **
|
|
** Linux Call Router **
|
|
** **
|
|
**---------------------------------------------------------------------------**
|
|
** Copyright: Andreas Eversberg **
|
|
** **
|
|
** trace header file **
|
|
** **
|
|
\*****************************************************************************/
|
|
|
|
/* definitions of commands */
|
|
#define L1_ACTIVATE_REQ 0x0001f000
|
|
#define L1_ACTIVATE_CON 0x0001f001
|
|
#define L1_ACTIVATE_IND 0x0001f002
|
|
#define L1_ACTIVATE_RES 0x0001f003
|
|
#define L1_DEACTIVATE_REQ 0x0001f100
|
|
#define L1_DEACTIVATE_CON 0x0001f101
|
|
#define L1_DEACTIVATE_IND 0x0001f102
|
|
#define L1_DEACTIVATE_RES 0x0001f103
|
|
#define L2_ESTABLISH_REQ 0x0002f000
|
|
#define L2_ESTABLISH_CON 0x0002f001
|
|
#define L2_ESTABLISH_IND 0x0002f002
|
|
#define L2_ESTABLISH_RES 0x0002f003
|
|
#define L2_RELEASE_REQ 0x0002f100
|
|
#define L2_RELEASE_CON 0x0002f101
|
|
#define L2_RELEASE_IND 0x0002f102
|
|
#define L2_RELEASE_RES 0x0002f103
|
|
#define L3_ALERTING_REQ 0x00030100
|
|
#define L3_ALERTING_IND 0x00030102
|
|
#define L3_PROCEEDING_REQ 0x00030200
|
|
#define L3_PROCEEDING_IND 0x00030202
|
|
#define L3_CONNECT_REQ 0x00030700
|
|
#define L3_CONNECT_IND 0x00030702
|
|
#define L3_CONNECT_RES 0x00030703
|
|
#define L3_CONNECT_ACKNOWLEDGE_REQ 0x00030f00
|
|
#define L3_CONNECT_ACKNOWLEDGE_IND 0x00030f02
|
|
#define L3_PROGRESS_REQ 0x00030300
|
|
#define L3_PROGRESS_IND 0x00030302
|
|
#define L3_SETUP_REQ 0x00030500
|
|
#define L3_SETUP_IND 0x00030502
|
|
#define L3_SETUP_ACKNOWLEDGE_REQ 0x00030d00
|
|
#define L3_SETUP_ACKNOWLEDGE_IND 0x00030d02
|
|
#define L3_RESUME_REQ 0x00032600
|
|
#define L3_RESUME_IND 0x00032602
|
|
#define L3_RESUME_ACKNOWLEDGE_REQ 0x00032e00
|
|
#define L3_RESUME_ACKNOWLEDGE_IND 0x00032e02
|
|
#define L3_RESUME_REJECT_REQ 0x00032200
|
|
#define L3_RESUME_REJECT_IND 0x00032202
|
|
#define L3_SUSPEND_REQ 0x00032500
|
|
#define L3_SUSPEND_IND 0x00032502
|
|
#define L3_SUSPEND_ACKNOWLEDGE_REQ 0x00032d00
|
|
#define L3_SUSPEND_ACKNOWLEDGE_IND 0x00032d02
|
|
#define L3_SUSPEND_REJECT_REQ 0x00032100
|
|
#define L3_SUSPEND_REJECT_IND 0x00032102
|
|
#define L3_USER_INFORMATION_REQ 0x00032000
|
|
#define L3_USER_INFORMATION_IND 0x00032002
|
|
#define L3_DISCONNECT_REQ 0x00034500
|
|
#define L3_DISCONNECT_IND 0x00034502
|
|
#define L3_RELEASE_REQ 0x00034d00
|
|
#define L3_RELEASE_IND 0x00034d02
|
|
#define L3_RELEASE_COMPLETE_REQ 0x00035a00
|
|
#define L3_RELEASE_COMPLETE_IND 0x00035a02
|
|
#define L3_RESTART_REQ 0x00034600
|
|
#define L3_RESTART_IND 0x00034602
|
|
#define L3_RESTART_ACKNOWLEDGE_REQ 0x00034e00
|
|
#define L3_RESTART_ACKNOWLEDGE_IND 0x00034e02
|
|
#define L3_SEGMENT_REQ 0x00036000
|
|
#define L3_SEGMENT_IND 0x00036002
|
|
#define L3_CONGESTION_CONTROL_REQ 0x00037900
|
|
#define L3_CONGESTION_CONTROL_IND 0x00037902
|
|
#define L3_INFORMATION_REQ 0x00037b00
|
|
#define L3_INFORMATION_IND 0x00037b02
|
|
#define L3_FACILITY_REQ 0x00036200
|
|
#define L3_FACILITY_IND 0x00036202
|
|
#define L3_NOTIFY_REQ 0x00036e00
|
|
#define L3_NOTIFY_IND 0x00036e02
|
|
#define L3_STATUS_REQ 0x00037d00
|
|
#define L3_STATUS_IND 0x00037d02
|
|
#define L3_STATUS_ENQUIRY_REQ 0x00037500
|
|
#define L3_STATUS_ENQUIRY_IND 0x00037502
|
|
#define L3_HOLD_REQ 0x00032400
|
|
#define L3_HOLD_IND 0x00032402
|
|
#define L3_HOLD_ACKNOWLEDGE_REQ 0x00032800
|
|
#define L3_HOLD_ACKNOWLEDGE_IND 0x00032802
|
|
#define L3_HOLD_REJECT_REQ 0x00033000
|
|
#define L3_HOLD_REJECT_IND 0x00033002
|
|
#define L3_RETRIEVE_REQ 0x00033100
|
|
#define L3_RETRIEVE_IND 0x00033102
|
|
#define L3_RETRIEVE_ACKNOWLEDGE_REQ 0x00033300
|
|
#define L3_RETRIEVE_ACKNOWLEDGE_IND 0x00033302
|
|
#define L3_RETRIEVE_REJECT_REQ 0x00033700
|
|
#define L3_RETRIEVE_REJECT_IND 0x00033702
|
|
#define L3_NEW_L3ID_REQ 0x0003f000
|
|
#define L3_NEW_L3ID_IND 0x0003f002
|
|
#define L3_RELEASE_L3ID_REQ 0x0003f100
|
|
#define L3_RELEASE_L3ID_IND 0x0003f102
|
|
#define L3_TIMEOUT_REQ 0x0003f200
|
|
#define L3_TIMEOUT_IND 0x0003f202
|
|
#define L3_UNKNOWN_REQ 0x0003ff00
|
|
#define L3_UNKNOWN_IND 0x0003ff02
|
|
|
|
|
|
struct trace_element {
|
|
char name[11];
|
|
char sub[11];
|
|
char value[64];
|
|
};
|
|
|
|
#define MAX_TRACE_ELEMENTS 32
|
|
struct trace {
|
|
/* header */
|
|
int port;
|
|
char interface[32];
|
|
char caller[64];
|
|
char dialing[64];
|
|
int direction;
|
|
unsigned int sec, usec;
|
|
|
|
/* type */
|
|
int category;
|
|
unsigned int serial;
|
|
char name[64];
|
|
|
|
/* elements */
|
|
int elements;
|
|
struct trace_element element[MAX_TRACE_ELEMENTS];
|
|
};
|
|
|
|
|
|
|
|
#define CATEGORY_CH 0x01
|
|
#define CATEGORY_EP 0x02
|
|
//#define CATEGORY_BC 0x04 check lcradmin help
|
|
|
|
|
|
#define start_trace(port, interface, caller, dialing, direction, category, serial, name) _start_trace(__FILE__, __LINE__, port, interface, caller, dialing, direction, category, serial, name)
|
|
#define add_trace(name, sub, fmt, arg...) _add_trace(__FILE__, __LINE__, name, sub, fmt, ## arg)
|
|
#define end_trace() _end_trace(__FILE__, __LINE__)
|
|
void _start_trace(const char *__file, int line, int port, struct interface *interface, const char *caller, const char *dialing, int direction, int category, int serial, const char *name);
|
|
void _add_trace(const char *__file, int line, const char *name, const char *sub, const char *fmt, ...);
|
|
void _end_trace(const char *__file, int line);
|
|
//char *print_trace(int port, char *interface, char *caller, char *dialing, int direction, char *category, char *name);
|
|
|
|
|