2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License (the "License"). 2N/A * You may not use this file except in compliance with the License. 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 2N/A * Use is subject to license terms. 2N/A#
pragma ident "%Z%%M% %I% %E% SMI" 2N/A * The transaction hash table 2N/A * Get the md5 hash of the required fields 2N/A * Since the response might contain parameters not in the 2N/A * request, just use the to URI. 2N/A * Add object to the connection cache object. Not checking for duplicates!! 2N/A * Transaction has cached a different conn_obj, release it 2N/A * Walk thru the list of transactions that have cached this obj and 2N/A * and return true if 'cobj' is one of them. 2N/A * Walk thru the list of transactions that have cached this obj and 2N/A * Take the obj out of the list 2N/A * Check for a transaction match. Passed to sip_hash_find(). 2N/A * Find a transaction 2N/A * corresponding INVITE, if any. 2N/A * create a transaction. 2N/A * Make sure we are not creating a transaction for 2N/A * Get connection object specific timeouts, if present 2N/A * Find a transaction, create if asked for 2N/A * If we are sending a request, must be conformant to RFC 3261. 2N/A * Delete a transaction if the reference count is 0. Passed to 2N/A * sip_hash_delete(). 2N/A * If the transaction logging is disabled before we could 2N/A * write the captured messages into the transaction log, then 2N/A * we need to free those captured messsages 2N/A * Delete a SIP transaction 2N/A * Add a SIP transaction into the hash list. 2N/A * trans is not in the list as yet, so no need to hold the lock 2N/A * Given a state, return the string - This is mostly for debug purposes 2N/A return (
"SIP_NEW_TRANSACTION");
2N/A return (
"SIP_CLNT_CALLING");
2N/A return (
"SIP_CLNT_INV_PROCEEDING");
2N/A return (
"SIP_CLNT_INV_TERMINATED");
2N/A return (
"SIP_CLNT_INV_COMPLETED");
2N/A return (
"SIP_CLNT_TRYING");
2N/A return (
"SIP_CLNT_NONINV_PROCEEDING");
2N/A return (
"SIP_CLNT_NONINV_TERMINATED");
2N/A return (
"SIP_CLNT_NONINV_COMPLETED");
2N/A return (
"SIP_SRV_INV_PROCEEDING");
2N/A return (
"SIP_SRV_INV_COMPLETED");
2N/A return (
"SIP_SRV_CONFIRMED");
2N/A return (
"SIP_SRV_INV_TERMINATED");
2N/A return (
"SIP_SRV_TRYING");
2N/A return (
"SIP_SRV_NONINV_PROCEEDING");
2N/A return (
"SIP_SRV_NONINV_COMPLETED");
2N/A return (
"SIP_SRV_NONINV_TERMINATED");
2N/A * Initialize the hash table etc.