voicemail specific code added (see #define VOICE_MAIL and module vm)
[sip-router] / modules / tm / tm_load.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 #ifndef _TM_BIND_H
30 #define _TM_BIND_H
31
32 #include "defs.h"
33
34
35 #include "../../sr_module.h"
36 #include "t_hooks.h"
37 #include "uac.h"
38 #include "t_fwd.h"
39 #include "t_reply.h"
40 #ifdef VOICE_MAIL
41 #    include "t_lookup.h"
42 #endif
43
44 /* export not usable from scripts */
45 #define NO_SCRIPT       -1
46
47 #define T_RELAY_TO "t_relay_to"
48 #define T_RELAY "t_relay"
49 #ifndef DEPRECATE_OLD_STUFF
50 #       define T_UAC "t_uac"
51 #endif
52 #define T_UAC_DLG "t_uac_dlg"
53 #define T_REPLY "t_reply"
54 #ifdef VOICE_MAIL
55 #define T_REPLY_WB "t_reply_with_body"
56 #endif
57 #define T_REPLY_UNSAFE "t_reply_unsafe"
58 #define T_FORWARD_NONACK "t_forward_nonack"
59
60
61
62 struct tm_binds {
63         register_tmcb_f register_tmcb;
64         cmd_function    t_relay_to;
65         cmd_function    t_relay;
66 #ifndef DEPRECATE_OLD_STUFF
67         tuac_f                  t_uac;
68 #endif
69         tuacdlg_f               t_uac_dlg;
70         treply_f                t_reply;
71 #ifdef VOICE_MAIL
72         treply_wb_f             t_reply_with_body;
73         tislocal_f              t_is_local;
74         tget_ti_f               t_get_trans_ident;
75         tlookup_ident_f         t_lookup_ident;
76 #endif
77         treply_f                t_reply_unsafe;
78         tfwd_f                  t_forward_nonack;
79 };
80
81
82 typedef int(*load_tm_f)( struct tm_binds *tmb );
83 int load_tm( struct tm_binds *tmb);
84
85
86 #endif