group.h

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

Generated on Wed May 23 06:00:45 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6