00001 00054 #ifndef _ISC_MARK_H 00055 #define _ISC_MARK_H 00056 00057 #include "../../parser/msg_parser.h" 00058 #include "../../lump_struct.h" 00059 #include "../../data_lump.h" 00060 00061 #include "checker.h" 00062 00064 #define ISC_MARK_USERNAME "sip:iscmark" 00065 00066 #define ISC_MARK_USERNAME_LEN 11 00067 00069 #define ISC_MARK_NOMARK 0 00070 00071 #define ISC_MARK_ORIG_LEG 1 00072 00073 #define ISC_MARK_TERM_LEG 2 00074 00075 #define ISC_MARK_TERM_UNREG_LEG 3 00076 #define ISC_MARK_STATUS_MAX 99 00077 00079 typedef struct _isc_mark{ 00080 int skip; 00081 char handling; 00082 char direction; 00083 str aor; 00084 } isc_mark; 00085 00086 00087 00088 int isc_mark_set(struct sip_msg *msg, isc_match *match, isc_mark *mark); 00089 00090 int isc_mark_get_from_msg(struct sip_msg *msg,isc_mark *mark); 00091 00092 int isc_mark_get_from_lump(struct sip_msg *msg,isc_mark *mark); 00093 00094 inline int isc_mark_write_route(struct sip_msg *msg,str *as,str *iscmark); 00095 00096 inline int isc_mark_drop_route(struct sip_msg *msg); 00097 00098 #endif
1.5.2