#ifndef __NF_CONNTRACK_SIP_H__ #define __NF_CONNTRACK_SIP_H__ #ifdef __KERNEL__ #define SIP_PORT 5060 #define SIP_TIMEOUT 3600 enum sip_header_pos { POS_REG_REQ_URI, POS_REQ_URI, POS_FROM, POS_TO, POS_VIA, POS_CONTACT, POS_CONTENT, POS_MEDIA, POS_OWNER_IP4, POS_CONNECTION_IP4, POS_OWNER_IP6, POS_CONNECTION_IP6, POS_SDP_HEADER, }; extern unsigned int (*nf_nat_sip_hook)(struct sk_buff **pskb, enum ip_conntrack_info ctinfo, struct nf_conn *ct, const char **dptr); extern unsigned int (*nf_nat_sdp_hook)(struct sk_buff **pskb, enum ip_conntrack_info ctinfo, struct nf_conntrack_expect *exp, const char *dptr); extern int ct_sip_get_info(struct nf_conn *ct, const char *dptr, size_t dlen, unsigned int *matchoff, unsigned int *matchlen, enum sip_header_pos pos); extern int ct_sip_lnlen(const char *line, const char *limit); extern const char *ct_sip_search(const char *needle, const char *haystack, size_t needle_len, size_t haystack_len, int case_sensitive); #endif /* __KERNEL__ */ #endif /* __NF_CONNTRACK_SIP_H__ */