dispatch.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #ifndef _DISPATCH_H_
00041 #define _DISPATCH_H_
00042
00043 #include <stdio.h>
00044 #include "../../pvar.h"
00045 #include "../../parser/msg_parser.h"
00046 #include "../tm/tm_load.h"
00047
00048
00049 #define DS_HASH_USER_ONLY 1
00050 #define DS_FAILOVER_ON 2
00051
00052 #define DS_INACTIVE_DST 1
00053 #define DS_PROBING_DST 2
00054 #define DS_RESET_FAIL_DST 4
00055
00056 extern str ds_db_url;
00057 extern str ds_table_name;
00058 extern str ds_set_id_col;
00059 extern str ds_dest_uri_col;
00060 extern str ds_dest_flags_col;
00061 extern str ds_dest_priority_col;
00062
00063 extern int ds_flags;
00064 extern int ds_use_default;
00065
00066 extern int_str dst_avp_name;
00067 extern unsigned short dst_avp_type;
00068 extern int_str grp_avp_name;
00069 extern unsigned short grp_avp_type;
00070 extern int_str cnt_avp_name;
00071 extern unsigned short cnt_avp_type;
00072
00073 extern pv_elem_t * hash_param_model;
00074
00075 extern str ds_setid_pvname;
00076 extern pv_spec_t ds_setid_pv;
00077
00078
00079 struct tm_binds tmb;
00080 extern str ds_ping_method;
00081 extern str ds_ping_from;
00082 extern int probing_threshhold;
00083
00084 extern int ds_probing_mode;
00085 extern int ds_append_branch;
00086
00087 int init_data(void);
00088 int init_ds_db(void);
00089 int ds_load_list(char *lfile);
00090 int ds_connect_db(void);
00091 void ds_disconnect_db(void);
00092 int ds_load_db(void);
00093 int ds_destroy_list(void);
00094 int ds_select_dst(struct sip_msg *msg, int set, int alg, int mode);
00095 int ds_next_dst(struct sip_msg *msg, int mode);
00096 int ds_set_state(int group, str *address, int state, int type);
00097 int ds_mark_dst(struct sip_msg *msg, int mode);
00098 int ds_print_list(FILE *fout);
00099 int ds_print_mi_list(struct mi_node* rpl);
00100
00101 int ds_is_from_list(struct sip_msg *_m, int group);
00102
00103
00104
00105 void ds_check_timer(unsigned int ticks, void* param);
00106
00107 #endif
00108