2006-05-30 01:27:09 +00:00
|
|
|
#ifndef __IP_CONNTRACK_SIP_H__
|
|
|
|
#define __IP_CONNTRACK_SIP_H__
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
|
|
|
|
#define SIP_PORT 5060
|
|
|
|
#define SIP_TIMEOUT 3600
|
|
|
|
|
2006-11-29 01:35:26 +00:00
|
|
|
enum sip_header_pos {
|
|
|
|
POS_REQ_HEADER,
|
|
|
|
POS_VIA,
|
|
|
|
POS_CONTACT,
|
|
|
|
POS_CONTENT,
|
|
|
|
POS_MEDIA,
|
|
|
|
POS_OWNER,
|
|
|
|
POS_CONNECTION,
|
|
|
|
POS_SDP_HEADER,
|
2006-05-30 01:27:09 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
extern unsigned int (*ip_nat_sip_hook)(struct sk_buff **pskb,
|
|
|
|
enum ip_conntrack_info ctinfo,
|
|
|
|
struct ip_conntrack *ct,
|
|
|
|
const char **dptr);
|
|
|
|
extern unsigned int (*ip_nat_sdp_hook)(struct sk_buff **pskb,
|
|
|
|
enum ip_conntrack_info ctinfo,
|
|
|
|
struct ip_conntrack_expect *exp,
|
|
|
|
const char *dptr);
|
|
|
|
|
|
|
|
extern int ct_sip_get_info(const char *dptr, size_t dlen,
|
|
|
|
unsigned int *matchoff,
|
|
|
|
unsigned int *matchlen,
|
2006-11-29 01:35:26 +00:00
|
|
|
enum sip_header_pos pos);
|
2006-05-30 01:27:09 +00:00
|
|
|
extern int ct_sip_lnlen(const char *line, const char *limit);
|
|
|
|
extern const char *ct_sip_search(const char *needle, const char *haystack,
|
2006-11-29 01:35:27 +00:00
|
|
|
size_t needle_len, size_t haystack_len,
|
|
|
|
int case_sensitive);
|
2006-05-30 01:27:09 +00:00
|
|
|
#endif /* __KERNEL__ */
|
|
|
|
#endif /* __IP_CONNTRACK_SIP_H__ */
|