SIP: Fix incoming re-invite
[lcr.git] / trace.h
diff --git a/trace.h b/trace.h
index e7012e0..092c2df 100644 (file)
--- a/trace.h
+++ b/trace.h
@@ -9,9 +9,101 @@
 **                                                                           **
 \*****************************************************************************/ 
 
 **                                                                           **
 \*****************************************************************************/ 
 
+/* 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 {
 struct trace_element {
-       char name[10];
-       char sub[10];
+       char name[11];
+       char sub[11];
        char value[64];
 };
 
        char value[64];
 };
 
@@ -23,11 +115,11 @@ struct trace {
        char caller[64];
        char dialing[64];
        int direction;
        char caller[64];
        char dialing[64];
        int direction;
-       unsigned long sec, usec;
+       unsigned int sec, usec;
        
        /* type */
        
        /* type */
-       char category[4];
-       int serial;
+       int category;
+       unsigned int serial;
        char name[64];
 
        /* elements */
        char name[64];
 
        /* elements */
@@ -39,9 +131,15 @@ struct trace {
 
 #define        CATEGORY_CH     0x01
 #define        CATEGORY_EP     0x02
 
 #define        CATEGORY_CH     0x01
 #define        CATEGORY_EP     0x02
+//#define CATEGORY_BC  0x04 check lcradmin help
 
 
 
 
-void start_trace(int port, char *interface, char *caller, char *dialing, int direction, char *category, char *name);
-void add_trace(char *name, char *sub, char *value);
-void end_trace(void);
+#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);
 //char *print_trace(int port, char *interface, char *caller, char *dialing, int direction, char *category, char *name);
+
+