reg_mod.h

Go to the documentation of this file.
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 */

Generated on Thu May 24 10:00:30 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6