bugfix: Call-ID generation repaired, from_tags introduced,
[sip-router] / config.h
1 /*
2  *  $Id$
3  *
4  * Copyright (C) 2001-2003 Fhg Fokus
5  *
6  * This file is part of ser, a free SIP server.
7  *
8  * ser is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version
12  *
13  * For a license to use the ser software under conditions
14  * other than those described here, or to purchase support for this
15  * software, please contact iptel.org by e-mail at the following addresses:
16  *    info@iptel.org
17  *
18  * ser is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License 
24  * along with this program; if not, write to the Free Software 
25  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26  */
27
28
29
30
31 #ifndef config_h
32 #define config_h
33
34 #include "types.h"
35
36 /* default sip port if none specified */
37 #define SIP_PORT 5060
38
39 #define CFG_FILE CFG_DIR "ser.cfg"
40
41
42 /* maximum number of addresses on which we will listen */
43 #define MAX_LISTEN 16
44
45 /* default number of child processes started */
46 #define CHILD_NO    8
47
48 #define RT_NO 10 /* routing tables number */
49 #define REPLY_RT_NO 10 /* reply routing tables number */
50 #define DEFAULT_RT 0 /* default routing table */
51
52 #define MAX_REC_LEV 100 /* maximum number of recursive calls */
53 #define ROUTE_MAX_REC_LEV 10 /* maximum number of recursive calls
54                                                            for route()*/
55
56 #define MAX_URI_SIZE 1024       /* used when rewriting URIs */
57
58 #define MY_VIA "Via: SIP/2.0/UDP "
59 #define MY_VIA_LEN 17
60
61 #define CONTENT_LENGTH "Content-Length: "
62 #define CONTENT_LENGTH_LEN (sizeof(CONTENT_LENGTH)-1)
63
64 #define USER_AGENT "User-Agent: Sip EXpress router"\
65                 "(" VERSION " (" ARCH "/" OS"))"
66 #define USER_AGENT_LEN (sizeof(USER_AGENT)-1)
67
68 #define SERVER_HDR "Server: Sip EXpress router "\
69                 "(" VERSION " (" ARCH "/" OS"))"
70 #define SERVER_HDR_LEN (sizeof(SERVER_HDR)-1)
71
72 #define MAX_WARNING_LEN  256
73                 
74 #define MY_BRANCH ";branch="
75 #define MY_BRANCH_LEN 8
76
77
78 #define MAX_PORT_LEN 7 /* ':' + max 5 letters + \0 */
79 #define CRLF "\r\n"
80 #define CRLF_LEN 2
81
82 #define RECEIVED   ";received="
83 #define RECEIVED_LEN 10
84
85 #define SRV_PREFIX "_sip._udp."
86 #define SRV_PREFIX_LEN 10
87
88 /*used only if PKG_MALLOC is defined*/
89 #define PKG_MEM_POOL_SIZE 1024*1024
90
91 /*used if SH_MEM is defined*/
92 #define SHM_MEM_SIZE 32
93
94 #define TIMER_TICK 1
95
96 /* dimensioning buckets in q_malloc */
97 /* size of the size2bucket table; everything beyond that asks for
98    a variable-size kilo-bucket
99  */
100 #define MAX_FIXED_BLOCK         3072
101 /* distance of kilo-buckets */
102 #define BLOCK_STEP                      512
103 /* maximum number of possible buckets */
104 #define MAX_BUCKET              15
105
106 /* receive buffer size -- preferably set low to
107    avoid terror of excessively huge messages; they are
108    useless anyway
109 */
110 #define BUF_SIZE 3040
111
112 /* forwarding  -- Via buffer dimensioning */
113 #define MAX_VIA_LINE_SIZE       240
114 #define MAX_RECEIVED_SIZE       57
115
116 /* maximum number of branches per transaction */
117 #define MAX_BRANCHES    4
118
119 /* maximum length of a FIFO server command */
120 #define MAX_FIFO_COMMAND 512
121
122 /* buffer dimensions for FIFO server */
123 #define MAX_CONSUME_BUFFER 1024
124 /* where reply pipes may be opened */
125 #define FIFO_DIR "/tmp/"
126 #define FIFO_DIR_LEN 5
127 /* max length of the text of fifo 'print' command */
128 #define MAX_PRINT_TEXT 256
129
130 /* maximum length of Contact heder field in redirection replies */
131 #define MAX_REDIRECTION_LEN 512
132
133 /* used by FIFO statistics in module to terminate line;
134    extra whitespaces are used to overwrite remainders of
135    previous line if longer than current one
136 */
137 #define CLEANUP_EOL "      \n"
138
139 /* how patient is ser with FIFO clients not awaiting a reply? 
140         4 x 80ms = 0.32 sec
141 */
142 #define FIFO_REPLY_RETRIES      4
143 #define FIFO_REPLY_WAIT         80000
144
145 #endif