00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _XIXT_H_
00022 #define _XIXT_H_
00023
00024 #include <osipparser2/osip_const.h>
00025 #include <osipparser2/osip_port.h>
00026
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031
00032
00033 void __osip_message_callback (int type, osip_transaction_t *, osip_message_t *);
00034 void __osip_kill_transaction_callback (int type, osip_transaction_t *);
00035 void __osip_transport_error_callback (int type, osip_transaction_t *, int error);
00036
00044 int __osip_ict_init (osip_ict_t ** ict, osip_t * osip, osip_message_t * invite);
00050 int __osip_ict_free (osip_ict_t * ict);
00051
00052
00060 osip_event_t *__osip_ict_need_timer_a_event (osip_ict_t * ict,
00061 state_t state, int transactionid);
00069 osip_event_t *__osip_ict_need_timer_b_event (osip_ict_t * ict,
00070 state_t state, int transactionid);
00078 osip_event_t *__osip_ict_need_timer_d_event (osip_ict_t * ict,
00079 state_t state, int transactionid);
00080
00088 int __osip_nict_init (osip_nict_t ** nict, osip_t * osip,
00089 osip_message_t * request);
00095 int __osip_nict_free (osip_nict_t * nict);
00096
00097
00105 osip_event_t *__osip_nict_need_timer_e_event (osip_nict_t * nict,
00106 state_t state, int transactionid);
00114 osip_event_t *__osip_nict_need_timer_f_event (osip_nict_t * nict,
00115 state_t state, int transactionid);
00123 osip_event_t *__osip_nict_need_timer_k_event (osip_nict_t * nict,
00124 state_t state, int transactionid);
00125
00133 int __osip_ist_init (osip_ist_t ** ist, osip_t * osip, osip_message_t * invite);
00139 int __osip_ist_free (osip_ist_t * ist);
00140
00148 osip_event_t *__osip_ist_need_timer_g_event (osip_ist_t * ist,
00149 state_t state, int transactionid);
00157 osip_event_t *__osip_ist_need_timer_h_event (osip_ist_t * ist,
00158 state_t state, int transactionid);
00166 osip_event_t *__osip_ist_need_timer_i_event (osip_ist_t * ist,
00167 state_t state, int transactionid);
00168
00176 int __osip_nist_init (osip_nist_t ** nist, osip_t * osip,
00177 osip_message_t * request);
00178
00184 int __osip_nist_free (osip_nist_t * nist);
00185
00186
00193 osip_event_t *__osip_nist_need_timer_j_event (osip_nist_t * nist,
00194 state_t state, int transactionid);
00195
00202 int
00203 __osip_transaction_matching_response_osip_to_xict_17_1_3
00204 (osip_transaction_t * tr, osip_message_t * resp);
00205
00212 int
00213 __osip_transaction_matching_request_osip_to_xist_17_2_3
00214 (osip_transaction_t * tr, osip_message_t * request);
00215
00216
00217
00223 int osip_ict_lock (osip_t * osip);
00229 int osip_ict_unlock (osip_t * osip);
00235 int osip_ist_lock (osip_t * osip);
00241 int osip_ist_unlock (osip_t * osip);
00247 int osip_nict_lock (osip_t * osip);
00253 int osip_nict_unlock (osip_t * osip);
00259 int osip_nist_lock (osip_t * osip);
00265 int osip_nist_unlock (osip_t * osip);
00266
00273 int __osip_add_ict (osip_t * osip, osip_transaction_t * ict);
00280 int __osip_add_ist (osip_t * osip, osip_transaction_t * ist);
00287 int __osip_add_nict (osip_t * osip, osip_transaction_t * nict);
00294 int __osip_add_nist (osip_t * osip, osip_transaction_t * nist);
00295
00301 int __osip_remove_ict_transaction (osip_t * osip, osip_transaction_t * ict);
00307 int __osip_remove_ist_transaction (osip_t * osip, osip_transaction_t * ist);
00313 int __osip_remove_nict_transaction (osip_t * osip, osip_transaction_t * nict);
00319 int __osip_remove_nist_transaction (osip_t * osip, osip_transaction_t * nist);
00320
00327 osip_event_t *__osip_event_new (type_t type, int transactionid);
00328
00329
00334 osip_event_t *osip_new_outgoing_sipmessage (osip_message_t * sip);
00335
00336 #ifdef __cplusplus
00337 }
00338 #endif
00339
00340 #endif