seas_action.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 #include "seas.h"
00024
00025 #define REPLY_PROV 1
00026 #define REPLY_FIN 2
00027 #define REPLY_FIN_DLG 3
00028 #define UAC_REQ 4
00029 #define AC_RES_FAIL 5
00030 #define SL_MSG 6
00031 #define AC_CANCEL 7
00032 #define JAIN_PONG 8
00033
00034
00035 #define AC_FAIL_UNKNOWN 0x01
00036
00037 #define FAKED_REPLY_FLAG 0x02
00038
00039 struct as_uac_param{
00040 struct as_entry *who;
00041 int uac_id;
00042 unsigned int label;
00043 char processor_id;
00044 char destroy_cb_set;
00045 };
00046
00047
00048
00049
00050
00051 int ac_reply(as_p the_as,char *action,int len);
00052 int ac_sl_msg(as_p the_as,char *action,int len);
00053 int ac_uac_req(as_p the_as,char *action,int len);
00054 int ac_encode_msg(as_p the_as,char *action,int len);
00055 int ac_cancel(as_p the_as,char *action,int len);
00056
00057
00058
00059
00060 int forward_sl_request(struct sip_msg *msg,struct proxy_l *proxy,int proto);
00061 int extract_allowed_headers(struct sip_msg *my_msg,int allow_vias,int allow_Rroutes,hdr_flags_t forbidden_hdrs,char *headers,int headers_len);
00062
00063
00064
00065
00066 int dispatch_actions(void);
00067 int process_action(as_p my_as);
00068
00069
00070
00071
00072 void uac_cb(struct cell* t, int type, struct tmcb_params*);
00073 void uac_cleanup_cb(struct cell* t, int type, struct tmcb_params*);
00074
00075
00076
00077
00078 int as_action_fail_resp(int uac_id,int sip_error,char *err_buf,int err_len);
00079 char* create_as_action_reply(struct cell *c,struct tmcb_params *params,int uac_id,char processor_id,int *evt_len);