modules: readme files regenerated - uac ... [skip ci]
[sip-router] / src / modules / sipcapture / hash_mode.h
1 /*
2  * Copyright (C) 2012 dragos.dinu@1and1.ro, 1&1 Internet AG
3  *
4  * This file is part of Kamailio, a free SIP server.
5  *
6  * Kamailio is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version
10  *
11  * Kamailio is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
19  *
20  */
21
22
23 #ifndef HASH_MODE_H
24 #define HASH_MODE_H 1
25
26
27 /*
28  * Determines from which part of a message will be used to calculate the hash
29  * Possible values are:
30  *
31  * hs_call_id     the content of the Call-ID header field
32  * hs_from_user   the username part of the URI in the From header field
33  * hs_to_user     the username part of the URI in the To header field
34  * hs_error       no hash specified
35 */
36 enum hash_source
37 {
38         hs_call_id = 1,
39         hs_from_user,
40         hs_to_user,
41         hs_error
42 };
43
44
45 /*
46  * CRC32 hash function
47  * Returns an integer number between 0 and denominator - 1 based on
48  * the hash source from the msg. The hash algorithm is CRC32.
49 */
50 int hash_func(struct _sipcapture_object *sco, enum hash_source source,
51                 int denominator);
52
53 /*
54  * Gets the hash source type.
55 */
56 enum hash_source get_hash_source(const char *hash_source);
57
58 #endif