registrar(k): missing extern for ul
[sip-router] / modules_k / registrar / reg_mod.h
1 /* 
2  * $Id$ 
3  *
4  * registrar module interface
5  *
6  * Copyright (C) 2001-2003 FhG Fokus
7  *
8  * This file is part of Kamailio, a free SIP server.
9  *
10  * Kamailio is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version
14  *
15  * Kamailio is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License 
21  * along with this program; if not, write to the Free Software 
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23  *
24  * History:
25  * --------
26  *
27  * 2005-07-11  added sip_natping_flag for nat pinging with SIP method
28  *             instead of UDP package (bogdan)
29  * 2006-11-28  Added statistics tracking for the number of accepted/rejected
30  *             registrations, as well as for the max expiry time, max contacts,
31  *             and default expiry time. (Jeffrey Magder - SOMA Networks)
32  * 2007-02-24  sip_natping_flag moved into branch flags, so migrated to 
33  *             nathelper module (bogdan)
34  */
35
36 /*!
37  * \file
38  * \brief SIP registrar module - interface
39  * \ingroup registrar   
40  */  
41
42
43 #ifndef REG_MOD_H
44 #define REG_MOD_H
45
46 #include "../../parser/msg_parser.h"
47 #include "../../qvalue.h"
48 #include "../../usr_avp.h"
49 #include "../usrloc/usrloc.h"
50 #include "../sl/sl_api.h"
51
52 /* if DB support is used, this values must not exceed the 
53  * storage capacity of the DB columns! See db/schema/entities.xml */
54 #define CONTACT_MAX_SIZE       255
55 #define RECEIVED_MAX_SIZE      255
56 #define USERNAME_MAX_SIZE      64
57 #define DOMAIN_MAX_SIZE        128
58 #define CALLID_MAX_SIZE        255
59 #define UA_MAX_SIZE            255
60
61 #define PATH_MODE_STRICT        2
62 #define PATH_MODE_LAZY          1
63 #define PATH_MODE_OFF           0
64
65 #define REG_SAVE_MEM_FL     (1<<0)
66 #define REG_SAVE_NORPL_FL   (1<<1)
67 #define REG_SAVE_REPL_FL    (1<<2)
68 #define REG_SAVE_ALL_FL     ((1<<3)-1)
69
70 extern int default_expires;
71 extern qvalue_t default_q;
72 extern int append_branches;
73 extern int case_sensitive;
74 extern int nat_flag;
75 extern int tcp_persistent_flag;
76 extern int min_expires;
77 extern int max_expires;
78 extern int received_avp;
79 extern int reg_use_domain;
80 extern str realm_prefix;
81 extern float def_q;
82
83 extern unsigned short aor_avp_type;
84 extern int_str aor_avp_name;
85 extern unsigned short rcv_avp_type;
86 extern int_str rcv_avp_name;
87 extern unsigned short reg_callid_avp_type;
88 extern int_str reg_callid_avp_name;
89
90 extern str rcv_param;
91 extern int max_contacts;
92 extern int retry_after;
93 extern int method_filtering;
94 extern int path_enabled;
95 extern int path_mode;
96 extern int path_use_params;
97
98 extern str sock_hdr_name;
99 extern int sock_flag;
100
101 extern usrloc_api_t ul;/*!< Structure containing pointers to usrloc functions*/
102
103 extern struct sl_binds slb;
104
105 extern stat_var *accepted_registrations;
106 extern stat_var *rejected_registrations;
107
108 #endif /* REG_MOD_H */