00001 /* 00002 * $Id: reg_mod.h 5016 2008-09-29 19:27:51Z miconda $ 00003 * 00004 * registrar module interface 00005 * 00006 * Copyright (C) 2001-2003 FhG Fokus 00007 * 00008 * This file is part of Kamailio, a free SIP server. 00009 * 00010 * Kamailio is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2 of the License, or 00013 * (at your option) any later version 00014 * 00015 * Kamailio is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU General Public License 00021 * along with this program; if not, write to the Free Software 00022 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00023 * 00024 * History: 00025 * -------- 00026 * 00027 * 2005-07-11 added sip_natping_flag for nat pinging with SIP method 00028 * instead of UDP package (bogdan) 00029 * 2006-11-28 Added statistics tracking for the number of accepted/rejected 00030 * registrations, as well as for the max expiry time, max contacts, 00031 * and default expiry time. (Jeffrey Magder - SOMA Networks) 00032 * 2007-02-24 sip_natping_flag moved into branch flags, so migrated to 00033 * nathelper module (bogdan) 00034 */ 00035 00036 /*! 00037 * \file 00038 * \brief SIP registrar module - interface 00039 * \ingroup registrar 00040 */ 00041 00042 00043 #ifndef REG_MOD_H 00044 #define REG_MOD_H 00045 00046 #include "../../parser/msg_parser.h" 00047 #include "../../qvalue.h" 00048 #include "../../usr_avp.h" 00049 #include "../usrloc/usrloc.h" 00050 #include "../sl/sl_api.h" 00051 00052 /* if DB support is used, this values must not exceed the 00053 * storage capacity of the DB columns! See db/schema/entities.xml */ 00054 #define CONTACT_MAX_SIZE 255 00055 #define RECEIVED_MAX_SIZE 255 00056 #define USERNAME_MAX_SIZE 64 00057 #define DOMAIN_MAX_SIZE 128 00058 #define CALLID_MAX_SIZE 255 00059 #define UA_MAX_SIZE 255 00060 00061 #define PATH_MODE_STRICT 2 00062 #define PATH_MODE_LAZY 1 00063 #define PATH_MODE_OFF 0 00064 00065 #define REG_SAVE_MEM_FL (1<<0) 00066 #define REG_SAVE_NORPL_FL (1<<1) 00067 #define REG_SAVE_REPL_FL (1<<2) 00068 #define REG_SAVE_ALL_FL ((1<<3)-1) 00069 00070 extern int default_expires; 00071 extern qvalue_t default_q; 00072 extern int append_branches; 00073 extern int case_sensitive; 00074 extern int nat_flag; 00075 extern int tcp_persistent_flag; 00076 extern int min_expires; 00077 extern int max_expires; 00078 extern int received_avp; 00079 extern int reg_use_domain; 00080 extern str realm_prefix; 00081 extern float def_q; 00082 00083 extern unsigned short aor_avp_type; 00084 extern int_str aor_avp_name; 00085 extern unsigned short rcv_avp_type; 00086 extern int_str rcv_avp_name; 00087 extern unsigned short reg_callid_avp_type; 00088 extern int_str reg_callid_avp_name; 00089 00090 extern str rcv_param; 00091 extern int max_contacts; 00092 extern int retry_after; 00093 extern int method_filtering; 00094 extern int path_enabled; 00095 extern int path_mode; 00096 extern int path_use_params; 00097 00098 extern str sock_hdr_name; 00099 extern int sock_flag; 00100 00101 usrloc_api_t ul; /*!< Structure containing pointers to usrloc functions */ 00102 00103 extern struct sl_binds slb; 00104 00105 extern stat_var *accepted_registrations; 00106 extern stat_var *rejected_registrations; 00107 00108 #endif /* REG_MOD_H */
1.5.6