00001 /* 00002 * $Id: group.h 5241 2008-11-21 12:52:25Z henningw $ 00003 * 00004 * Copyright (C) 2001-2003 FhG Fokus 00005 * 00006 * This file is part of Kamailio, a free SIP server. 00007 * 00008 * Kamailio is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version 00012 * 00013 * Kamailio is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program; if not, write to the Free Software 00020 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 * 00022 * History: 00023 * -------- 00024 * 2003-02-25 - created by janakj 00025 */ 00026 00027 /** 00028 * \file 00029 * \brief Group membership module 00030 * \ingroup group 00031 * - Module: \ref group 00032 */ 00033 00034 #ifndef GROUP_H 00035 #define GROUP_H 00036 00037 #include "../../parser/msg_parser.h" 00038 #include "../../pvar.h" 00039 #include "../../usr_avp.h" 00040 00041 00042 typedef struct _group_check 00043 { 00044 int id; 00045 pv_spec_t sp; 00046 } group_check_t, *group_check_p; 00047 00048 00049 /*! 00050 * \brief Extract the username and domain from the SIP message 00051 * 00052 * Set the username and domain depending on the value of the SIP 00053 * message and the group check structure. 00054 * \param msg SIP message 00055 * \param gcp group check structure 00056 * \param username stored username 00057 * \param domain stored domain 00058 * \return 0 on success, -1 on failure 00059 */ 00060 int get_username_domain(struct sip_msg *msg, group_check_p gcp, 00061 str *username, str *domain); 00062 00063 00064 /*! 00065 * \brief Check if username in specified header field is in a table 00066 * \param _msg SIP message 00067 * \param _hf Header field 00068 * \param _grp checked table 00069 * \return 1 on success, negative on failure 00070 */ 00071 int is_user_in(struct sip_msg* _msg, char* _hf, char* _grp); 00072 00073 00074 /*! 00075 * \brief Initialize the DB connection 00076 * \param db_url database URL 00077 * \return 0 on success, -1 on failure 00078 */ 00079 int group_db_init(const str* db_url); 00080 00081 00082 /*! 00083 * \brief Bind the DB connection 00084 * \param db_url database URL 00085 * \return 0 on success, -1 on failure 00086 */ 00087 int group_db_bind(const str* db_url); 00088 00089 00090 /*! 00091 * \brief Close the DB connection 00092 */ 00093 void group_db_close(void); 00094 00095 #endif
1.5.6