00001
00054 #ifndef _ISC_SIP_H
00055 #define _ISC_SIP_H
00056
00057 #include "../../data_lump_rpl.h"
00058
00059 #include "../../parser/contact/parse_contact.h"
00060 #include "../../parser/parse_uri.h"
00061 #include "../../parser/parse_from.h"
00062 #include "../../parser/parse_content.h"
00063 #include "../../parser/parse_disposition.h"
00064 #include "../../db/db.h"
00065 #include "../tm/tm_load.h"
00066
00067 #include "mark.h"
00068
00069 int str2cmp(str x,str y);
00070
00071 int str2icmp(str x,str y);
00072
00073 int isc_is_initial_request(struct sip_msg *msg);
00074 int isc_is_register(struct sip_msg *msg);
00075
00076 int isc_get_originating_user( struct sip_msg * msg, isc_mark *mark, str *uri );
00077
00078 int isc_is_registered(str *uri);
00079
00080 inline int isc_get_terminating_type(str *uri);
00081
00082 int isc_get_terminating_user( struct sip_msg * msg, isc_mark *mark, str *uri );
00083
00084 int isc_get_expires(struct sip_msg *msg);
00085
00086 int cscf_get_transaction(struct sip_msg *msg, unsigned int *hash,unsigned int *label);
00087
00088 struct sip_msg* cscf_get_request_from_reply(struct sip_msg *reply);
00089
00090
00091 int cscf_get_expires_hdr(struct sip_msg *msg);
00092 int cscf_get_max_expires(struct sip_msg *msg);
00093 contact_body_t *cscf_parse_contacts(struct sip_msg *msg);
00094 str cscf_get_public_identity(struct sip_msg *msg);
00095
00096
00097 int cscf_get_first_p_associated_uri(struct sip_msg *msg,str *public_id);
00098 str cscf_get_access_network_info(struct sip_msg *msg, struct hdr_field **h);
00099 str cscf_get_visited_network_id(struct sip_msg *msg, struct hdr_field **h);
00100 str cscf_get_charging_vector(struct sip_msg *msg, struct hdr_field **h);
00101
00102 str cscf_get_call_id(struct sip_msg *msg,struct hdr_field **hr);
00103 int cscf_get_cseq(struct sip_msg *msg,struct hdr_field **hr);
00104 #endif
00105
00106