|
libosip 3.6.0
|
00001 /* 00002 The oSIP library implements the Session Initiation Protocol (SIP -rfc2543-) 00003 Copyright (C) 2001 Aymeric MOIZARD jack@atosc.org 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Lesser General Public 00007 License as published by the Free Software Foundation; either 00008 version 2.1 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Lesser General Public License for more details. 00014 00015 You should have received a copy of the GNU Lesser General Public 00016 License along with this library; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 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 #endif 00030 00031 00032 void __osip_message_callback(int type, osip_transaction_t *, osip_message_t *); 00033 void __osip_kill_transaction_callback(int type, osip_transaction_t *); 00034 void __osip_transport_error_callback(int type, osip_transaction_t *, 00035 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 #endif
1.7.3