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 *,
00034 osip_message_t *);
00035 void __osip_kill_transaction_callback (int type, osip_transaction_t *);
00036 void __osip_transport_error_callback (int type, osip_transaction_t *,
00037 int error);
00038
00046 int __osip_ict_init (osip_ict_t ** ict, osip_t * osip,
00047 osip_message_t * invite);
00053 int __osip_ict_free (osip_ict_t * ict);
00054
00055
00063 osip_event_t *__osip_ict_need_timer_a_event (osip_ict_t * ict,
00064 state_t state,
00065 int transactionid);
00073 osip_event_t *__osip_ict_need_timer_b_event (osip_ict_t * ict,
00074 state_t state,
00075 int transactionid);
00083 osip_event_t *__osip_ict_need_timer_d_event (osip_ict_t * ict,
00084 state_t state,
00085 int transactionid);
00086
00094 int __osip_nict_init (osip_nict_t ** nict, osip_t * osip,
00095 osip_message_t * request);
00101 int __osip_nict_free (osip_nict_t * nict);
00102
00103
00111 osip_event_t *__osip_nict_need_timer_e_event (osip_nict_t * nict,
00112 state_t state,
00113 int transactionid);
00121 osip_event_t *__osip_nict_need_timer_f_event (osip_nict_t * nict,
00122 state_t state,
00123 int transactionid);
00131 osip_event_t *__osip_nict_need_timer_k_event (osip_nict_t * nict,
00132 state_t state,
00133 int transactionid);
00134
00142 int __osip_ist_init (osip_ist_t ** ist, osip_t * osip,
00143 osip_message_t * invite);
00149 int __osip_ist_free (osip_ist_t * ist);
00150
00158 osip_event_t *__osip_ist_need_timer_g_event (osip_ist_t * ist,
00159 state_t state,
00160 int transactionid);
00168 osip_event_t *__osip_ist_need_timer_h_event (osip_ist_t * ist,
00169 state_t state,
00170 int transactionid);
00178 osip_event_t *__osip_ist_need_timer_i_event (osip_ist_t * ist,
00179 state_t state,
00180 int transactionid);
00181
00189 int __osip_nist_init (osip_nist_t ** nist, osip_t * osip,
00190 osip_message_t * request);
00191
00197 int __osip_nist_free (osip_nist_t * nist);
00198
00199
00206 osip_event_t *__osip_nist_need_timer_j_event (osip_nist_t * nist,
00207 state_t state,
00208 int transactionid);
00209
00216 int
00217 __osip_transaction_matching_response_osip_to_xict_17_1_3
00218 (osip_transaction_t * tr, osip_message_t * resp);
00219
00226 int
00227 __osip_transaction_matching_request_osip_to_xist_17_2_3
00228 (osip_transaction_t * tr, osip_message_t * request);
00229
00230
00231
00237 int osip_ict_lock (osip_t * osip);
00243 int osip_ict_unlock (osip_t * osip);
00249 int osip_ist_lock (osip_t * osip);
00255 int osip_ist_unlock (osip_t * osip);
00261 int osip_nict_lock (osip_t * osip);
00267 int osip_nict_unlock (osip_t * osip);
00273 int osip_nist_lock (osip_t * osip);
00279 int osip_nist_unlock (osip_t * osip);
00280
00287 int __osip_add_ict (osip_t * osip, osip_transaction_t * ict);
00294 int __osip_add_ist (osip_t * osip, osip_transaction_t * ist);
00301 int __osip_add_nict (osip_t * osip, osip_transaction_t * nict);
00308 int __osip_add_nist (osip_t * osip, osip_transaction_t * nist);
00309
00315 int __osip_remove_ict_transaction (osip_t * osip, osip_transaction_t * ict);
00321 int __osip_remove_ist_transaction (osip_t * osip, osip_transaction_t * ist);
00327 int __osip_remove_nict_transaction (osip_t * osip,
00328 osip_transaction_t * nict);
00334 int __osip_remove_nist_transaction (osip_t * osip,
00335 osip_transaction_t * nist);
00336
00343 osip_event_t *__osip_event_new (type_t type, int transactionid);
00344
00345
00350 osip_event_t *osip_new_outgoing_sipmessage (osip_message_t * sip);
00351
00352 #ifdef __cplusplus
00353 }
00354 #endif
00355
00356 #endif