modules_s/uri/checks.h

00001 /*
00002  * $Id$
00003  *
00004  * Various URI checks
00005  *
00006  * Copyright (C) 2001-2003 FhG Fokus
00007  *
00008  * This file is part of ser, a free SIP server.
00009  *
00010  * ser 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  * For a license to use the ser software under conditions
00016  * other than those described here, or to purchase support for this
00017  * software, please contact iptel.org by e-mail at the following addresses:
00018  *    info@iptel.org
00019  *
00020  * ser is distributed in the hope that it will be useful,
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00023  * GNU General Public License for more details.
00024  *
00025  * You should have received a copy of the GNU General Public License 
00026  * along with this program; if not, write to the Free Software 
00027  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00028  *
00029  * History:
00030  * --------
00031  * 2003-03-26 created by janakj
00032  * 2004-04-14 uri_param and add_uri_param introduced (jih)
00033  */
00034 
00035 
00036 #ifndef CHECKS_H
00037 #define CHECKS_H
00038 
00039 #include "../../parser/msg_parser.h"
00040 
00041 
00042 /*
00043  * Check if given username matches those in digest credentials
00044  */
00045 int is_user(struct sip_msg* _msg, char* _user, char* _str2);
00046 
00047 
00048 /*
00049  * Check if message includes a to-tag
00050  */
00051 int has_totag(struct sip_msg* _m, char* _foo, char* _bar);
00052 
00053 
00054 /*
00055  * Find if Request URI has a given parameter with no value
00056  */
00057 int uri_param_1(struct sip_msg* _msg, char* _param, char* _str2);
00058 
00059 
00060 /*
00061  * Find if Request URI has a given parameter with matching value
00062  */
00063 int uri_param_2(struct sip_msg* _msg, char* _param, char* _value);
00064 
00065 
00066 /*
00067  * Adds a new parameter to Request URI
00068  */
00069 int add_uri_param(struct sip_msg* _msg, char* _param, char* _s2);
00070 
00071 
00072 /*
00073  * Converts Request-URI, if it is tel URI, to SIP URI.  Returns 1, if
00074  * conversion succeeded or if no conversion was needed, i.e., Request-URI
00075  * was not tel URI.  Returns -1, if conversion failed.
00076  */
00077 int tel2sip(struct sip_msg* _msg, char* _s1, char* _s2);
00078 
00079 #endif /* CHECKS_H */