8209939da58a88d7092be39c07849094085cdc66
[sip-router] / modules / tm / config.h
1 /*
2  * $Id$
3  *
4  */
5
6 #ifndef _TM_CONFIG_H
7 #define _TM_CONFIG_H
8
9 /* always use a power of 2 for hash table size */
10 #define T_TABLE_POWER    12
11 #define TABLE_ENTRIES    (1 << (T_TABLE_POWER))
12
13 /* this is where table size is defined now -- sort of
14    ugly, core should not be bothered by TM table size,
15    but on the other, core's stateless forwarding should 
16    have consistent branch generation with stateful mode
17    and needs to calculate branch/hash, for which table size
18    is needed 
19 */
20 #include "../../hash_func.h"
21
22 /* maximumum length of localy generated acknowledgement */
23 #define MAX_ACK_LEN   1024
24
25 /* FINAL_RESPONSE_TIMER ... tells how long should the transaction engine
26    wait if no final response comes back*/
27 #define FR_TIME_OUT       30
28 #define INV_FR_TIME_OUT   120
29
30 /* WAIT timer ... tells how long state should persist in memory after
31    a transaction was finalized*/
32 #define WT_TIME_OUT       5
33
34 /* DELETE timer ... tells how long should the transaction persist in memory
35    after it was removed from the hash table and before it will be deleted */
36 #define DEL_TIME_OUT      2
37  
38 /* retransmission timers */
39 #define RETR_T1           1
40 #define RETR_T2           4
41
42 /* when first reply is sent, this additional space is allocated so that
43    one does not have to reallocate share memory when the message is
44    replaced by a subsequent, longer message
45 */
46 #define REPLY_OVERBUFFER_LEN 160
47 #define TAG_OVERBUFFER_LEN 32
48
49 /* dimensions of FIFO server */
50 #define MAX_METHOD      64
51 #define MAX_HEADER      1024
52 #define MAX_BODY        1024
53 #define MAX_DST 512
54 #define MAX_FROM 512
55
56 /* messages generated by server */
57 #define CANCELLING "cancelling"
58 #define CANCEL_DONE "ok -- no more pending branches"
59 #define CANCELLED "Request cancelled"
60
61 /* ACKnowledgement forking hack -- that is good for phones
62    which send ACKs to the same outbound proxy; if forking is
63    enabled, the proxy wouldn't know to which branch to forward;
64    without forking, it could forward to other branch than from
65    which a reply came back, resulting in UAS never seeing it;
66    this hack has not been tested yet
67 */
68 #undef ACK_FORKING_HACK
69
70 #endif