12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /*
- * $Id$
- *
- * Copyright (C) 2008-2009 1&1 Internet AG
- *
- * This file is part of SIP-router, a free SIP server.
- *
- * SIP-router is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version
- *
- * SIP-router is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
- /**
- * \file
- * \brief SIP-utils :: Module with several utiltity functions related to SIP messages handling
- * \ingroup siputils
- * - Module; \ref siputils
- */
- #ifndef RING_H
- #define RING_H
- #define HASHTABLEBITS 13
- #define HASHTABLESIZE (((unsigned int)1) << HASHTABLEBITS)
- #define HASHTABLEMASK (HASHTABLESIZE - 1)
- #define MAXCALLIDLEN 255
- extern gen_lock_t *ring_lock;
- /*!
- * \brief Inserts callid of message into hashtable
- *
- * Inserts callid of message into hashtable. Any 183 messages with
- * this callid that occur in the next ring_timeout seconds, will be
- * converted to 180.
- * \param msg SIP message
- * \param unused1 unused
- * \param unused2 unused
- * \return 1 on success, -1 otherwise
- */
- int ring_insert_callid(struct sip_msg *msg, char *unused1, char *unused2);
- /*!
- * \brief Initialize the ring hashtable in shared memory
- */
- void ring_init_hashtable(void);
- /*!
- * \brief Destroy the ring hashtable
- */
- void ring_destroy_hashtable(void);
- /*!
- * \brief Callback function that does the work inside the server.
- * \param msg SIP message
- * \param flags unused
- * \param bar unused
- * \return 1 on success, -1 on failure
- */
- int ring_filter(struct sip_msg *msg, unsigned int flags, void *bar);
- /*!
- * \brief Fixup function for the ring_insert_callid function
- * \param param unused
- * \param param_no unused
- * \return 0
- */
- int ring_fixup(void ** param, int param_no);
- #endif
|