opensips/modules/enum/enum.h

Wed, 10 Feb 2010 21:25:01 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 10 Feb 2010 21:25:01 +0100
changeset 18
8ec65b8f6e2c
parent 12
a3ac912f2857
permissions
-rw-r--r--

Extend uac_auth() of the UAC module to workaround CSEQ problems.
This logic is meant to complement that of changeset 17, which
added rich authentication credentials to the gw table and its
associated logic in the LCR module.

michael@12 1 /*
michael@12 2 * $Id: enum.h 5901 2009-07-21 07:45:05Z bogdan_iancu $
michael@12 3 *
michael@12 4 * Header file for Enum and E164 related functions
michael@12 5 *
michael@12 6 * Copyright (C) 2002-2008 Juha Heinanen
michael@12 7 *
michael@12 8 * This file is part of opensips, a free SIP server.
michael@12 9 *
michael@12 10 * opensips is free software; you can redistribute it and/or modify
michael@12 11 * it under the terms of the GNU General Public License as published by
michael@12 12 * the Free Software Foundation; either version 2 of the License, or
michael@12 13 * (at your option) any later version
michael@12 14 *
michael@12 15 * opensips is distributed in the hope that it will be useful,
michael@12 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
michael@12 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
michael@12 18 * GNU General Public License for more details.
michael@12 19 *
michael@12 20 * You should have received a copy of the GNU General Public License
michael@12 21 * along with this program; if not, write to the Free Software
michael@12 22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
michael@12 23 */
michael@12 24
michael@12 25
michael@12 26 #ifndef ENUM_H
michael@12 27 #define ENUM_H
michael@12 28
michael@12 29
michael@12 30 #include "../../parser/msg_parser.h"
michael@12 31
michael@12 32
michael@12 33 #define MAX_DOMAIN_SIZE 256
michael@12 34 #define MAX_COMPONENT_SIZE 32 /* separator, apex, ... This simplifies checks */
michael@12 35
michael@12 36
michael@12 37 /*
michael@12 38 * Check if from user is an e164 number and has a naptr record
michael@12 39 */
michael@12 40 int is_from_user_enum_0(struct sip_msg* _msg, char* _str1, char* _str2);
michael@12 41 int is_from_user_enum_1(struct sip_msg* _msg, char* _suffix, char* _str2);
michael@12 42 int is_from_user_enum_2(struct sip_msg* _msg, char* _suffix, char* _service);
michael@12 43
michael@12 44 /*
michael@12 45 * do source number destination routing.
michael@12 46 * that is, make the ruri based on the from number
michael@12 47 * this is like source ip policy routing
michael@12 48 */
michael@12 49 int enum_pv_query_1(struct sip_msg* _msg, char* _sp);
michael@12 50 int enum_pv_query_2(struct sip_msg* _msg, char* _sp, char* _suffix);
michael@12 51 int enum_pv_query_3(struct sip_msg* _msg, char* _sp, char* _suffix,
michael@12 52 char* _service);
michael@12 53
michael@12 54 /*
michael@12 55 * Make enum query and if query succeeds, replace current uri with the
michael@12 56 * result of the query
michael@12 57 */
michael@12 58 int enum_query_0(struct sip_msg* _msg, char* _str1, char* _str2);
michael@12 59 int enum_query_1(struct sip_msg* _msg, char* _suffix, char* _str2);
michael@12 60 int enum_query_2(struct sip_msg* _msg, char* _suffix, char* _service);
michael@12 61
michael@12 62 /*
michael@12 63 * Infrastructure ENUM versions.
michael@12 64 */
michael@12 65 int i_enum_query_0(struct sip_msg* _msg, char* _str1, char* _str2);
michael@12 66 int i_enum_query_1(struct sip_msg* _msg, char* _suffix, char* _str2);
michael@12 67 int i_enum_query_2(struct sip_msg* _msg, char* _suffix, char* _service);
michael@12 68
michael@13 69 /*
michael@13 70 * Make ISN query and if query succeeds, replace current uri with the
michael@13 71 * result of the query
michael@13 72 */
michael@13 73 int isn_query_0(struct sip_msg* _msg, char* _str1, char* _str2);
michael@13 74 int isn_query_1(struct sip_msg* _msg, char* _suffix, char* _str2);
michael@13 75 int isn_query_2(struct sip_msg* _msg, char* _suffix, char* _service);
michael@13 76
michael@12 77
michael@12 78 #endif /* ENUM_H */

mercurial