00001 /* 00002 * 00003 * Copyright (C) 2004-2006 FhG Fokus 00004 * 00005 * This file is part of Open IMS Core - an open source IMS CSCFs & HSS 00006 * implementation 00007 * 00008 * Open IMS Core is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * For a license to use the Open IMS Core software under conditions 00014 * other than those described here, or to purchase support for this 00015 * software, please contact Fraunhofer FOKUS by e-mail at the following 00016 * addresses: 00017 * info@open-ims.org 00018 * 00019 * Open IMS Core is distributed in the hope that it will be useful, 00020 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00022 * GNU General Public License for more details. 00023 * 00024 * It has to be noted that this Open Source IMS Core System is not 00025 * intended to become or act as a product in a commercial context! Its 00026 * sole purpose is to provide an IMS core reference implementation for 00027 * IMS technology testing and IMS application prototyping for research 00028 * purposes, typically performed in IMS test-beds. 00029 * 00030 * Users of the Open Source IMS Core System have to be aware that IMS 00031 * technology may be subject of patents and licence terms, as being 00032 * specified within the various IMS-related IETF, ITU-T, ETSI, and 3GPP 00033 * standards. Thus all Open IMS Core users have to take notice of this 00034 * fact and have to agree to check out carefully before installing, 00035 * using and extending the Open Source IMS Core System, if related 00036 * patents and licences may become applicable to the intended usage 00037 * context. 00038 * 00039 * You should have received a copy of the GNU General Public License 00040 * along with this program; if not, write to the Free Software 00041 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00042 * 00043 */ 00044 00045 00056 #ifndef RELEASE_CALL_H_ 00057 #define RELEASE_CALL_H_ 00058 #include "../tm/tm_load.h" 00059 #include "dlg_state.h" 00060 #include "../dialog/dlg_mod.h" 00061 #include "sip.h" 00062 00063 00064 enum release_call_situation{ 00065 RELEASE_CALL_EARLY=0, 00066 RELEASE_CALL_WEIRD=1 00067 /*Weird state is the technical name of the state in which a 00068 * sip session is when the callee has already sent a 200 OK for INVITE 00069 * and the caller hasn't yet recieved this response 00070 * In Weird state the session can only be released by sending an ACK followed 00071 * by a BYE to the callee and a reply >400 to the caller 00072 * a CANCEL wouldn't be understood by the callee!*/ 00073 }; 00074 #define MAX_TIMES_TO_TRY_TO_RELEASE 5 00075 00076 00077 int P_release_call_onreply(struct sip_msg *msg,char *str1,char *str2); 00078 00079 int release_call(str callid,int reason_code,str reason_text); 00080 00081 int release_call_p(p_dialog *d,int reason_code,str reason_text); 00082 00083 00084 #endif /*RELEASE_CALL_H_*/
1.5.2