third_party_reg.h

Go to the documentation of this file.
00001 /*
00002  * $Id: third_party_reg.h 489 2007-11-08 19:54:01Z vingarzan $
00003  *  
00004  * Copyright (C) 2004-2006 FhG Fokus
00005  *
00006  * This file is part of Open IMS Core - an open source IMS CSCFs & HSS
00007  * implementation
00008  *
00009  * Open IMS Core is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2 of the License, or
00012  * (at your option) any later version.
00013  *
00014  * For a license to use the Open IMS Core software under conditions
00015  * other than those described here, or to purchase support for this
00016  * software, please contact Fraunhofer FOKUS by e-mail at the following
00017  * addresses:
00018  *     info@open-ims.org
00019  *
00020  * Open IMS Core is distributed in the hope that it will be useful,
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00023  * GNU General Public License for more details.
00024  * 
00025  * It has to be noted that this Open Source IMS Core System is not 
00026  * intended to become or act as a product in a commercial context! Its 
00027  * sole purpose is to provide an IMS core reference implementation for 
00028  * IMS technology testing and IMS application prototyping for research 
00029  * purposes, typically performed in IMS test-beds.
00030  * 
00031  * Users of the Open Source IMS Core System have to be aware that IMS
00032  * technology may be subject of patents and licence terms, as being 
00033  * specified within the various IMS-related IETF, ITU-T, ETSI, and 3GPP
00034  * standards. Thus all Open IMS Core users have to take notice of this 
00035  * fact and have to agree to check out carefully before installing, 
00036  * using and extending the Open Source IMS Core System, if related 
00037  * patents and licences may become applicable to the intended usage 
00038  * context.  
00039  *
00040  * You should have received a copy of the GNU General Public License
00041  * along with this program; if not, write to the Free Software
00042  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00043  * 
00044  */
00045  
00055 #ifndef _ISC_THIRD_PARTY_REG_H_
00056 #define _ISC_THIRD_PARTY_REG_H_
00057 
00058 #include "checker.h"
00059 #include "mark.h"
00060 
00061 #include "../../sr_module.h"
00062 #include "../../locking.h"
00063 #include "../tm/tm_load.h"
00064 
00065 
00067 typedef struct _r_third_party_reg { 
00068     str req_uri;            /* AS sip uri:      */
00069     str from;               /* SCSCF uri            */
00070     str to;                 /* Public user id       */
00071     str pvni;               /* Visited network id   */
00072     str pani;               /* Access Network info  */
00073     str cv;                 /* Charging vector  */
00074     str service_info;       /* Service info body */
00075 } r_third_party_registration;
00076 
00077 int isc_third_party_reg(struct sip_msg *msg, isc_match *m,isc_mark *mark);
00078 
00079 int r_third_party_reg(str req_uri, str to, int duration);
00080 
00081 r_third_party_registration* new_r_third_party_reg(str req_uri, str to, str from, str pvni, str cv);
00082 
00083 int r_send_third_party_reg(r_third_party_registration *r,int duration);
00084 
00085 void r_third_party_reg_response(struct cell *t,int type,struct tmcb_params *ps);
00086 
00087 void free_r_registration(r_third_party_registration *r);
00088 
00089 #endif //_ISC_THIRD_PARTY_REG_H_

Generated on Thu Oct 23 04:14:38 2008 for Open IMS Core CSCFs by  doxygen 1.5.2