mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-07-24 13:12:03 +00:00
FS-9924: Removed extra space in source files
This commit is contained in:
+1
-1
@@ -25,7 +25,7 @@ these routines are slow in C, is the lack of direct access to the CPU's "find
|
||||
the first 1" instruction. A little in-line assembler fixes that, and the
|
||||
conversion routines can be faster than lookup tables, in most real world usage.
|
||||
A "find the first 1" instruction is available on most modern CPUs, and is a
|
||||
much underused feature.
|
||||
much underused feature.
|
||||
|
||||
If an assembly language method of bit searching is not available, these routines
|
||||
revert to a method that can be a little slow, so the cache thrashing might not
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -235,11 +235,11 @@ struct switch_media_bug {
|
||||
switch_image_t *spy_img[2];
|
||||
switch_vid_spy_fmt_t spy_fmt;
|
||||
switch_thread_t *video_bug_thread;
|
||||
|
||||
|
||||
switch_buffer_t *text_buffer;
|
||||
char *text_framedata;
|
||||
uint32_t text_framesize;
|
||||
|
||||
|
||||
struct switch_media_bug *next;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
*
|
||||
* switch_hashtable_private.h -- Hashtable
|
||||
@@ -89,23 +89,23 @@ indexFor(unsigned int tablelength, unsigned int hashvalue) {
|
||||
/*
|
||||
* Copyright (c) 2002, Christopher Clark
|
||||
* All rights reserved.
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
*
|
||||
* * Neither the name of the original author; nor the names of any contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
* switch.h -- Main Library Header
|
||||
@@ -164,7 +164,7 @@
|
||||
* - OpenBSD 5.x
|
||||
*
|
||||
* \section depends Dependencies
|
||||
* Freeswitch makes heavy use of external libraries.
|
||||
* Freeswitch makes heavy use of external libraries.
|
||||
*
|
||||
* libFreeSWITCH:
|
||||
* - APR (http://apr.apache.org)
|
||||
@@ -199,7 +199,7 @@
|
||||
*
|
||||
* mod_b64
|
||||
* - Base64 codec tranfers data base64 encoded (http://www.b64codec.org)
|
||||
*
|
||||
*
|
||||
* mod_bv
|
||||
* - BroadVoice16 (8kHz) and BroadVoice32 (16kHz) (https://www.broadcom.com/support/broadvoice)
|
||||
*
|
||||
@@ -219,7 +219,7 @@
|
||||
* Directories
|
||||
* mod_ldap
|
||||
* - openldap (*nix only http://www.openldap.org/)
|
||||
*
|
||||
*
|
||||
* Endpoints
|
||||
* mod_portaudio
|
||||
* - portaudio (http://www.portaudio.com/)
|
||||
|
||||
+51
-51
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
* Eliot Gable <egable@gmail.com>
|
||||
*
|
||||
@@ -31,7 +31,7 @@
|
||||
*/
|
||||
/*! \file switch_apr.h
|
||||
\brief APR includes header
|
||||
|
||||
|
||||
The things powered by APR are renamed into the switch_ namespace to provide a cleaner
|
||||
look to things and helps me to document what parts of APR I am using I'd like to take this
|
||||
opportunity to thank APR for all the awesome stuff it does and for making my life much easier.
|
||||
@@ -53,7 +53,7 @@ typedef pthread_t switch_thread_id_t;
|
||||
|
||||
SWITCH_DECLARE(switch_thread_id_t) switch_thread_self(void);
|
||||
|
||||
/*! \brief Compare two thread ids
|
||||
/*! \brief Compare two thread ids
|
||||
* \param tid1 1st Thread ID to compare
|
||||
* \param tid2 2nd Thread ID to compare
|
||||
*/
|
||||
@@ -71,7 +71,7 @@ SWITCH_DECLARE(int) switch_thread_equal(switch_thread_id_t tid1, switch_thread_i
|
||||
*/
|
||||
/**
|
||||
* @defgroup switch_memory_pool Memory Pool Functions
|
||||
* @ingroup switch_apr
|
||||
* @ingroup switch_apr
|
||||
* @{
|
||||
*/
|
||||
/** The fundamental pool type */
|
||||
@@ -142,7 +142,7 @@ SWITCH_DECLARE(switch_hash_index_t *) switch_core_hash_first(switch_memory_pool_
|
||||
/**
|
||||
* Continue iterating over the entries in a hash table.
|
||||
* @param ht The iteration state
|
||||
* @return a pointer to the updated iteration state. NULL if there are no more
|
||||
* @return a pointer to the updated iteration state. NULL if there are no more
|
||||
* entries.
|
||||
*/
|
||||
SWITCH_DECLARE(switch_hash_index_t *) switch_core_hash_next(switch_hash_index_t *ht);
|
||||
@@ -171,7 +171,7 @@ SWITCH_DECLARE(switch_memory_pool_t *) switch_hash_pool_get(switch_hash_t *ht);
|
||||
* The default hash function.
|
||||
* @param key pointer to the key.
|
||||
* @param klen the key length.
|
||||
*
|
||||
*
|
||||
*/
|
||||
SWITCH_DECLARE(unsigned int) switch_hashfunc_default(const char *key, switch_ssize_t *klen);
|
||||
|
||||
@@ -180,7 +180,7 @@ SWITCH_DECLARE(unsigned int) switch_ci_hashfunc_default(const char *char_key, sw
|
||||
|
||||
/**
|
||||
* @defgroup switch_time Time Routines
|
||||
* @ingroup switch_apr
|
||||
* @ingroup switch_apr
|
||||
* @{
|
||||
*/
|
||||
|
||||
@@ -261,7 +261,7 @@ SWITCH_DECLARE(switch_status_t) switch_strftime_nocheck(char *s, switch_size_t *
|
||||
* format which requires the indicated amount of storage,
|
||||
* including the trailing NUL terminator.
|
||||
* @param date_str String to write to.
|
||||
* @param t the time to convert
|
||||
* @param t the time to convert
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_rfc822_date(char *date_str, switch_time_t t);
|
||||
|
||||
@@ -273,7 +273,7 @@ SWITCH_DECLARE(switch_status_t) switch_rfc822_date(char *date_str, switch_time_t
|
||||
SWITCH_DECLARE(switch_status_t) switch_time_exp_gmt(switch_time_exp_t *result, switch_time_t input);
|
||||
|
||||
/**
|
||||
* Convert time value from human readable format to a numeric apr_time_t
|
||||
* Convert time value from human readable format to a numeric apr_time_t
|
||||
* e.g. elapsed usec since epoch
|
||||
* @param result the resulting imploded time
|
||||
* @param input the input exploded time
|
||||
@@ -297,7 +297,7 @@ SWITCH_DECLARE(switch_status_t) switch_time_exp_tz(switch_time_exp_t *result, sw
|
||||
/**
|
||||
* Sleep for the specified number of micro-seconds.
|
||||
* @param t desired amount of time to sleep.
|
||||
* @warning May sleep for longer than the specified time.
|
||||
* @warning May sleep for longer than the specified time.
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_sleep(switch_interval_time_t t);
|
||||
SWITCH_DECLARE(void) switch_micro_sleep(switch_interval_time_t t);
|
||||
@@ -449,7 +449,7 @@ SWITCH_DECLARE(switch_status_t) switch_thread_rwlock_unlock(switch_thread_rwlock
|
||||
|
||||
/**
|
||||
* @defgroup switch_thread_cond Condition Variable Routines
|
||||
* @ingroup switch_apr
|
||||
* @ingroup switch_apr
|
||||
* @{
|
||||
*/
|
||||
|
||||
@@ -496,8 +496,8 @@ SWITCH_DECLARE(switch_status_t) switch_thread_cond_wait(switch_thread_cond_t *co
|
||||
* @param mutex the mutex that must be locked upon entering this function,
|
||||
* is released while the thread is asleep, and is again acquired before
|
||||
* returning from this function.
|
||||
* @param timeout The amount of time in microseconds to wait. This is
|
||||
* a maximum, not a minimum. If the condition is signaled, we
|
||||
* @param timeout The amount of time in microseconds to wait. This is
|
||||
* a maximum, not a minimum. If the condition is signaled, we
|
||||
* will wake up before this time, otherwise the error APR_TIMEUP
|
||||
* is returned.
|
||||
*/
|
||||
@@ -589,7 +589,7 @@ SWITCH_DECLARE(switch_status_t) switch_md5_string(char digest_str[SWITCH_MD5_DIG
|
||||
/** Opaque structure used for queue API */
|
||||
typedef struct apr_queue_t switch_queue_t;
|
||||
|
||||
/**
|
||||
/**
|
||||
* create a FIFO queue
|
||||
* @param queue The new queue
|
||||
* @param queue_capacity maximum size of the queue
|
||||
@@ -677,7 +677,7 @@ SWITCH_DECLARE(switch_status_t) switch_queue_trypush(switch_queue_t *queue, void
|
||||
|
||||
/**
|
||||
* @defgroup switch_file_io File I/O Handling Functions
|
||||
* @ingroup switch_apr
|
||||
* @ingroup switch_apr
|
||||
* @{
|
||||
*/
|
||||
|
||||
@@ -703,7 +703,7 @@ SWITCH_DECLARE(switch_status_t) switch_queue_trypush(switch_queue_t *queue, void
|
||||
|
||||
|
||||
/**
|
||||
* @defgroup switch_file_permissions File Permissions flags
|
||||
* @defgroup switch_file_permissions File Permissions flags
|
||||
* @ingroup switch_file_io
|
||||
* @{
|
||||
*/
|
||||
@@ -784,7 +784,7 @@ SWITCH_DECLARE(switch_status_t) switch_queue_trypush(switch_queue_t *queue, void
|
||||
* SWITCH_FOPEN_CREATE create the file if not there
|
||||
* SWITCH_FOPEN_APPEND file ptr is set to end prior to all writes
|
||||
* SWITCH_FOPEN_TRUNCATE set length to zero if file exists
|
||||
* SWITCH_FOPEN_BINARY not a text file (This flag is ignored on
|
||||
* SWITCH_FOPEN_BINARY not a text file (This flag is ignored on
|
||||
* UNIX because it has no meaning)
|
||||
* SWITCH_FOPEN_BUFFERED buffer the data. Default is non-buffered
|
||||
* SWITCH_FOPEN_EXCL return error if APR_CREATE and file exists
|
||||
@@ -794,7 +794,7 @@ SWITCH_DECLARE(switch_status_t) switch_queue_trypush(switch_queue_t *queue, void
|
||||
* SWITCH_FOPEN_SHARELOCK Platform dependent support for higher
|
||||
* level locked read/write access to support
|
||||
* writes across process/machines
|
||||
* SWITCH_FOPEN_NOCLEANUP Do not register a cleanup with the pool
|
||||
* SWITCH_FOPEN_NOCLEANUP Do not register a cleanup with the pool
|
||||
* passed in on the <EM>pool</EM> argument (see below).
|
||||
* The apr_os_file_t handle in apr_file_t will not
|
||||
* be closed when the pool is destroyed.
|
||||
@@ -860,7 +860,7 @@ SWITCH_DECLARE(switch_status_t) switch_file_read(switch_file_t *thefile, void *b
|
||||
* Write data to the specified file.
|
||||
* @param thefile The file descriptor to write to.
|
||||
* @param buf The buffer which contains the data.
|
||||
* @param nbytes On entry, the number of bytes to write; on exit, the number
|
||||
* @param nbytes On entry, the number of bytes to write; on exit, the number
|
||||
* of bytes written.
|
||||
*
|
||||
* @remark apr_file_write will write up to the specified number of
|
||||
@@ -924,7 +924,7 @@ SWITCH_DECLARE(uint32_t) switch_dir_count(switch_dir_t *thedir);
|
||||
|
||||
/**
|
||||
* @defgroup switch_thread_proc Threads and Process Functions
|
||||
* @ingroup switch_apr
|
||||
* @ingroup switch_apr
|
||||
* @{
|
||||
*/
|
||||
|
||||
@@ -955,7 +955,7 @@ SWITCH_DECLARE(switch_status_t) switch_threadattr_create(switch_threadattr_t **
|
||||
|
||||
/**
|
||||
* Set if newly created threads should be created in detached state.
|
||||
* @param attr The threadattr to affect
|
||||
* @param attr The threadattr to affect
|
||||
* @param on Non-zero if detached threads should be created.
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_threadattr_detach_set(switch_threadattr_t *attr, int32_t on);
|
||||
@@ -975,7 +975,7 @@ SWITCH_DECLARE(switch_status_t) switch_thread_create(switch_thread_t ** new_thre
|
||||
|
||||
/**
|
||||
* @defgroup switch_network_io Network Routines
|
||||
* @ingroup switch_apr
|
||||
* @ingroup switch_apr
|
||||
* @{
|
||||
*/
|
||||
|
||||
@@ -1048,12 +1048,12 @@ SWITCH_DECLARE(switch_status_t) switch_socket_create(switch_socket_t ** new_sock
|
||||
|
||||
/**
|
||||
* Shutdown either reading, writing, or both sides of a socket.
|
||||
* @param sock The socket to close
|
||||
* @param sock The socket to close
|
||||
* @param how How to shutdown the socket. One of:
|
||||
* <PRE>
|
||||
* SWITCH_SHUTDOWN_READ no longer allow read requests
|
||||
* SWITCH_SHUTDOWN_WRITE no longer allow write requests
|
||||
* SWITCH_SHUTDOWN_READWRITE no longer allow read or write requests
|
||||
* SWITCH_SHUTDOWN_READWRITE no longer allow read or write requests
|
||||
* </PRE>
|
||||
* @see switch_shutdown_how_e
|
||||
* @remark This does not actually close the socket descriptor, it just
|
||||
@@ -1063,13 +1063,13 @@ SWITCH_DECLARE(switch_status_t) switch_socket_shutdown(switch_socket_t *sock, sw
|
||||
|
||||
/**
|
||||
* Close a socket.
|
||||
* @param sock The socket to close
|
||||
* @param sock The socket to close
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_socket_close(switch_socket_t *sock);
|
||||
|
||||
/**
|
||||
* Bind the socket to its associated port
|
||||
* @param sock The socket to bind
|
||||
* @param sock The socket to bind
|
||||
* @param sa The socket address to bind to
|
||||
* @remark This may be where we will find out if there is any other process
|
||||
* using the selected port.
|
||||
@@ -1078,10 +1078,10 @@ SWITCH_DECLARE(switch_status_t) switch_socket_bind(switch_socket_t *sock, switch
|
||||
|
||||
/**
|
||||
* Listen to a bound socket for connections.
|
||||
* @param sock The socket to listen on
|
||||
* @param sock The socket to listen on
|
||||
* @param backlog The number of outstanding connections allowed in the sockets
|
||||
* listen queue. If this value is less than zero, the listen
|
||||
* queue size is set to zero.
|
||||
* queue size is set to zero.
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_socket_listen(switch_socket_t *sock, int32_t backlog);
|
||||
|
||||
@@ -1096,9 +1096,9 @@ SWITCH_DECLARE(switch_status_t) switch_socket_listen(switch_socket_t *sock, int3
|
||||
SWITCH_DECLARE(switch_status_t) switch_socket_accept(switch_socket_t ** new_sock, switch_socket_t *sock, switch_memory_pool_t *pool);
|
||||
|
||||
/**
|
||||
* Issue a connection request to a socket either on the same machine
|
||||
* Issue a connection request to a socket either on the same machine
|
||||
* or a different one.
|
||||
* @param sock The socket we wish to use for our side of the connection
|
||||
* @param sock The socket we wish to use for our side of the connection
|
||||
* @param sa The address of the machine we wish to connect to.
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_socket_connect(switch_socket_t *sock, switch_sockaddr_t *sa);
|
||||
@@ -1122,7 +1122,7 @@ SWITCH_DECLARE(int) switch_sockaddr_equal(const switch_sockaddr_t *sa1, const sw
|
||||
* @param sa The new apr_sockaddr_t.
|
||||
* @param hostname The hostname or numeric address string to resolve/parse, or
|
||||
* NULL to build an address that corresponds to 0.0.0.0 or ::
|
||||
* @param family The address family to use, or SWITCH_UNSPEC if the system should
|
||||
* @param family The address family to use, or SWITCH_UNSPEC if the system should
|
||||
* decide.
|
||||
* @param port The port number.
|
||||
* @param flags Special processing flags:
|
||||
@@ -1148,12 +1148,12 @@ SWITCH_DECLARE(switch_status_t) switch_sockaddr_create(switch_sockaddr_t **sa, s
|
||||
/**
|
||||
* Send data over a network.
|
||||
* @param sock The socket to send the data over.
|
||||
* @param buf The buffer which contains the data to be sent.
|
||||
* @param buf The buffer which contains the data to be sent.
|
||||
* @param len On entry, the number of bytes to send; on exit, the number
|
||||
* of bytes sent.
|
||||
* @remark
|
||||
* <PRE>
|
||||
* This functions acts like a blocking write by default. To change
|
||||
* This functions acts like a blocking write by default. To change
|
||||
* this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK
|
||||
* socket option.
|
||||
*
|
||||
@@ -1173,7 +1173,7 @@ SWITCH_DECLARE(switch_status_t) switch_socket_send(switch_socket_t *sock, const
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_socket_sendto(switch_socket_t *sock, switch_sockaddr_t *where, int32_t flags, const char *buf,
|
||||
switch_size_t *len);
|
||||
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_socket_send_nonblock(switch_socket_t *sock, const char *buf, switch_size_t *len);
|
||||
|
||||
/**
|
||||
@@ -1191,12 +1191,12 @@ SWITCH_DECLARE(switch_status_t) switch_socket_atmark(switch_socket_t *sock, int
|
||||
/**
|
||||
* Read data from a network.
|
||||
* @param sock The socket to read the data from.
|
||||
* @param buf The buffer to store the data in.
|
||||
* @param buf The buffer to store the data in.
|
||||
* @param len On entry, the number of bytes to receive; on exit, the number
|
||||
* of bytes received.
|
||||
* @remark
|
||||
* <PRE>
|
||||
* This functions acts like a blocking read by default. To change
|
||||
* This functions acts like a blocking read by default. To change
|
||||
* this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK
|
||||
* socket option.
|
||||
* The number of bytes actually received is stored in argument 3.
|
||||
@@ -1214,7 +1214,7 @@ SWITCH_DECLARE(switch_status_t) switch_socket_recv(switch_socket_t *sock, char *
|
||||
* @param sock The socket to set up.
|
||||
* @param opt The option we would like to configure. One of:
|
||||
* <PRE>
|
||||
* APR_SO_DEBUG -- turn on debugging information
|
||||
* APR_SO_DEBUG -- turn on debugging information
|
||||
* APR_SO_KEEPALIVE -- keep connections active
|
||||
* APR_SO_LINGER -- lingers on close if data is present
|
||||
* APR_SO_NONBLOCK -- Turns blocking on/off for socket
|
||||
@@ -1263,9 +1263,9 @@ SWITCH_DECLARE(switch_status_t) switch_socket_timeout_set(switch_socket_t *sock,
|
||||
* Join a Multicast Group
|
||||
* @param sock The socket to join a multicast group
|
||||
* @param join The address of the multicast group to join
|
||||
* @param iface Address of the interface to use. If NULL is passed, the
|
||||
* @param iface Address of the interface to use. If NULL is passed, the
|
||||
* default multicast interface will be used. (OS Dependent)
|
||||
* @param source Source Address to accept transmissions from (non-NULL
|
||||
* @param source Source Address to accept transmissions from (non-NULL
|
||||
* implies Source-Specific Multicast)
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_mcast_join(switch_socket_t *sock, switch_sockaddr_t *join, switch_sockaddr_t *iface, switch_sockaddr_t *source);
|
||||
@@ -1331,7 +1331,7 @@ SWITCH_DECLARE(switch_status_t) switch_mcast_interface(switch_socket_t *sock, sw
|
||||
|
||||
/**
|
||||
* Setup a pollset object
|
||||
* @param pollset The pointer in which to return the newly created object
|
||||
* @param pollset The pointer in which to return the newly created object
|
||||
* @param size The maximum number of descriptors that this pollset can hold
|
||||
* @param pool The pool from which to allocate the pollset
|
||||
* @param flags Optional flags to modify the operation of the pollset.
|
||||
@@ -1382,16 +1382,16 @@ SWITCH_DECLARE(switch_status_t) switch_pollset_remove(switch_pollset_t *pollset,
|
||||
|
||||
/**
|
||||
* Poll the sockets in the poll structure
|
||||
* @param aprset The poll structure we will be using.
|
||||
* @param aprset The poll structure we will be using.
|
||||
* @param numsock The number of sockets we are polling
|
||||
* @param nsds The number of sockets signalled.
|
||||
* @param timeout The amount of time in microseconds to wait. This is
|
||||
* a maximum, not a minimum. If a socket is signalled, we
|
||||
* will wake up before this time. A negative number means
|
||||
* @param timeout The amount of time in microseconds to wait. This is
|
||||
* a maximum, not a minimum. If a socket is signalled, we
|
||||
* will wake up before this time. A negative number means
|
||||
* wait until a socket is signalled.
|
||||
* @remark The number of sockets signalled is returned in the third argument.
|
||||
* This is a blocking call, and it will not return until either a
|
||||
* socket has been signalled, or the timeout has expired.
|
||||
* @remark The number of sockets signalled is returned in the third argument.
|
||||
* This is a blocking call, and it will not return until either a
|
||||
* socket has been signalled, or the timeout has expired.
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_poll(switch_pollfd_t *aprset, int32_t numsock, int32_t *nsds, switch_interval_time_t timeout);
|
||||
|
||||
@@ -1415,7 +1415,7 @@ SWITCH_DECLARE(switch_status_t) switch_pollset_poll(switch_pollset_t *pollset, s
|
||||
SWITCH_DECLARE(switch_status_t) switch_socket_create_pollset(switch_pollfd_t ** poll, switch_socket_t *sock, int16_t flags, switch_memory_pool_t *pool);
|
||||
|
||||
SWITCH_DECLARE(switch_interval_time_t) switch_interval_time_from_timeval(struct timeval *tvp);
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\brief Create a pollfd out of a socket
|
||||
@@ -1442,14 +1442,14 @@ SWITCH_DECLARE(switch_status_t) switch_file_pipe_create(switch_file_t ** in, swi
|
||||
/**
|
||||
* Get the timeout value for a pipe or manipulate the blocking state.
|
||||
* @param thepipe The pipe we are getting a timeout for.
|
||||
* @param timeout The current timeout value in microseconds.
|
||||
* @param timeout The current timeout value in microseconds.
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_file_pipe_timeout_get(switch_file_t *thepipe, switch_interval_time_t *timeout);
|
||||
|
||||
/**
|
||||
* Set the timeout value for a pipe or manipulate the blocking state.
|
||||
* @param thepipe The pipe we are setting a timeout on.
|
||||
* @param timeout The timeout value in microseconds. Values < 0 mean wait
|
||||
* @param timeout The timeout value in microseconds. Values < 0 mean wait
|
||||
* forever, 0 means do not wait at all.
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_file_pipe_timeout_set(switch_file_t *thepipe, switch_interval_time_t timeout);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -56,9 +56,9 @@ static inline char *print_bits(switch_byte_t byte, char *x)
|
||||
|
||||
|
||||
/*!
|
||||
\defgroup bp1 Bitpacking
|
||||
\defgroup bp1 Bitpacking
|
||||
\ingroup core1
|
||||
\{
|
||||
\{
|
||||
*/
|
||||
|
||||
static const uint8_t SWITCH_BITPACKED_MASKS[] = { 0, 1, 3, 7, 15, 31, 63, 127, 255 };
|
||||
@@ -70,7 +70,7 @@ static const uint8_t SWITCH_REVERSE_BITPACKED_MASKS[] = { 255, 254, 252, 248, 24
|
||||
\param bitlen the number of bits per packet
|
||||
\param buf the buffer to use for storage
|
||||
\param buflen the length of the storage buffer
|
||||
\param mode RFC3551 or AAL2 mode (curse you backwards folks)
|
||||
\param mode RFC3551 or AAL2 mode (curse you backwards folks)
|
||||
*/
|
||||
DoxyDefine(void switch_bitpack_init(switch_bitpack_t *pack, int32_t bitlen, switch_byte_t *buf, uint32_t buflen, switch_bitpack_mode_t mode))
|
||||
static inline int8_t switch_bitpack_init(switch_bitpack_t *pack, switch_byte_t bitlen, switch_byte_t *buf, uint32_t buflen,
|
||||
|
||||
+11
-11
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,14 +22,14 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
* switch_buffer.h -- Data Buffering Code
|
||||
*
|
||||
*/
|
||||
/**
|
||||
/**
|
||||
* @file switch_buffer.h
|
||||
* @brief Data Buffering Code
|
||||
* @see switch_buffer
|
||||
@@ -56,7 +56,7 @@ SWITCH_DECLARE(switch_status_t) switch_buffer_create_partition(switch_memory_poo
|
||||
SWITCH_DECLARE(switch_status_t) switch_buffer_set_partition_data(switch_buffer_t *buffer, void *data, switch_size_t datalen);
|
||||
SWITCH_DECLARE(switch_status_t) switch_buffer_reset_partition_data(switch_buffer_t *buffer);
|
||||
|
||||
/*! \brief Allocate a new switch_buffer
|
||||
/*! \brief Allocate a new switch_buffer
|
||||
* \param pool Pool to allocate the buffer from
|
||||
* \param buffer returned pointer to the new buffer
|
||||
* \param max_len length required by the buffer
|
||||
@@ -64,7 +64,7 @@ SWITCH_DECLARE(switch_status_t) switch_buffer_reset_partition_data(switch_buffer
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_buffer_create(_In_ switch_memory_pool_t *pool, _Out_ switch_buffer_t **buffer, _In_ switch_size_t max_len);
|
||||
|
||||
/*! \brief Allocate a new dynamic switch_buffer
|
||||
/*! \brief Allocate a new dynamic switch_buffer
|
||||
* \param buffer returned pointer to the new buffer
|
||||
* \param blocksize length to realloc by as data is added
|
||||
* \param start_len ammount of memory to reserve initially
|
||||
@@ -79,25 +79,25 @@ SWITCH_DECLARE(void) switch_buffer_lock(_In_ switch_buffer_t *buffer);
|
||||
SWITCH_DECLARE(switch_status_t) switch_buffer_trylock(_In_ switch_buffer_t *buffer);
|
||||
SWITCH_DECLARE(void) switch_buffer_unlock(_In_ switch_buffer_t *buffer);
|
||||
|
||||
/*! \brief Get the length of a switch_buffer_t
|
||||
/*! \brief Get the length of a switch_buffer_t
|
||||
* \param buffer any buffer of type switch_buffer_t
|
||||
* \return int size of the buffer.
|
||||
*/
|
||||
SWITCH_DECLARE(switch_size_t) switch_buffer_len(_In_ switch_buffer_t *buffer);
|
||||
|
||||
/*! \brief Get the freespace of a switch_buffer_t
|
||||
/*! \brief Get the freespace of a switch_buffer_t
|
||||
* \param buffer any buffer of type switch_buffer_t
|
||||
* \return int freespace in the buffer.
|
||||
*/
|
||||
SWITCH_DECLARE(switch_size_t) switch_buffer_freespace(_In_ switch_buffer_t *buffer);
|
||||
|
||||
/*! \brief Get the in use amount of a switch_buffer_t
|
||||
/*! \brief Get the in use amount of a switch_buffer_t
|
||||
* \param buffer any buffer of type switch_buffer_t
|
||||
* \return int ammount of buffer curently in use
|
||||
*/
|
||||
SWITCH_DECLARE(switch_size_t) switch_buffer_inuse(_In_ switch_buffer_t *buffer);
|
||||
|
||||
/*! \brief Read data from a switch_buffer_t up to the ammount of datalen if it is available. Remove read data from buffer.
|
||||
/*! \brief Read data from a switch_buffer_t up to the ammount of datalen if it is available. Remove read data from buffer.
|
||||
* \param buffer any buffer of type switch_buffer_t
|
||||
* \param data pointer to the read data to be returned
|
||||
* \param datalen amount of data to be returned
|
||||
@@ -105,7 +105,7 @@ SWITCH_DECLARE(switch_size_t) switch_buffer_inuse(_In_ switch_buffer_t *buffer);
|
||||
*/
|
||||
SWITCH_DECLARE(switch_size_t) switch_buffer_read(_In_ switch_buffer_t *buffer, _In_ void *data, _In_ switch_size_t datalen);
|
||||
|
||||
/*! \brief Read data from a switch_buffer_t up to the ammount of datalen if it is available, without removing read data from buffer.
|
||||
/*! \brief Read data from a switch_buffer_t up to the ammount of datalen if it is available, without removing read data from buffer.
|
||||
* \param buffer any buffer of type switch_buffer_t
|
||||
* \param data pointer to the read data to be returned
|
||||
* \param datalen amount of data to be returned
|
||||
@@ -115,7 +115,7 @@ SWITCH_DECLARE(switch_size_t) switch_buffer_peek(_In_ switch_buffer_t *buffer, _
|
||||
|
||||
SWITCH_DECLARE(switch_size_t) switch_buffer_peek_zerocopy(_In_ switch_buffer_t *buffer, _Out_ const void **ptr);
|
||||
|
||||
/*! \brief Read data endlessly from a switch_buffer_t
|
||||
/*! \brief Read data endlessly from a switch_buffer_t
|
||||
* \param buffer any buffer of type switch_buffer_t
|
||||
* \param data pointer to the read data to be returned
|
||||
* \param datalen amount of data to be returned
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -45,7 +45,7 @@
|
||||
*
|
||||
* In addition, this module implements an abstract interface for extensions and applications.
|
||||
* A connected session's channel has one extension object which may have one or more applications
|
||||
* linked into a stack which will be executed in order by the session's state machine when the
|
||||
* linked into a stack which will be executed in order by the session's state machine when the
|
||||
* current state is CS_EXECUTE.
|
||||
* @{
|
||||
*/
|
||||
@@ -217,7 +217,7 @@ SWITCH_DECLARE(void) switch_caller_extension_add_application_printf(_In_ switch_
|
||||
\param ani ANI information
|
||||
\param aniii ANI II information
|
||||
\param rdnis RDNIS
|
||||
\param source the source
|
||||
\param source the source
|
||||
\param context a logical context
|
||||
\param destination_number destination number
|
||||
\return a new profile object allocated from the session's memory pool
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,14 +22,14 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
* switch_channel.h -- Media Channel Interface
|
||||
*
|
||||
*/
|
||||
/**
|
||||
/**
|
||||
* @file switch_channel.h
|
||||
* @brief Media Channel Interface
|
||||
* @see switch_channel
|
||||
@@ -292,16 +292,16 @@ SWITCH_DECLARE(switch_status_t) switch_channel_transfer_variable_prefix(switch_c
|
||||
#define switch_channel_set_variable_partner(_channel, _var, _val) switch_channel_set_variable_partner_var_check(_channel, _var, _val, SWITCH_TRUE)
|
||||
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_export_variable_var_check(switch_channel_t *channel,
|
||||
const char *varname, const char *val,
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_export_variable_var_check(switch_channel_t *channel,
|
||||
const char *varname, const char *val,
|
||||
const char *export_varname,
|
||||
switch_bool_t var_check);
|
||||
|
||||
SWITCH_DECLARE(void) switch_channel_process_export(switch_channel_t *channel, switch_channel_t *peer_channel,
|
||||
SWITCH_DECLARE(void) switch_channel_process_export(switch_channel_t *channel, switch_channel_t *peer_channel,
|
||||
switch_event_t *var_event, const char *export_varname);
|
||||
|
||||
#define switch_channel_export_variable(_channel, _varname, _value, _ev) switch_channel_export_variable_var_check(_channel, _varname, _value, _ev, SWITCH_TRUE)
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_export_variable_printf(switch_channel_t *channel, const char *varname,
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_export_variable_printf(switch_channel_t *channel, const char *varname,
|
||||
const char *export_varname, const char *fmt, ...);
|
||||
|
||||
SWITCH_DECLARE(void) switch_channel_set_scope_variables(switch_channel_t *channel, switch_event_t **event);
|
||||
@@ -333,7 +333,7 @@ static inline int switch_channel_var_true(switch_channel_t *channel, const char
|
||||
SWITCH_DECLARE(switch_event_header_t *) switch_channel_variable_first(switch_channel_t *channel);
|
||||
|
||||
/*!
|
||||
* \brief Stop iterating over channel variables.
|
||||
* \brief Stop iterating over channel variables.
|
||||
* \remark Unlocks the profile mutex initially locked in switch_channel_variable_first
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_channel_variable_last(switch_channel_t *channel);
|
||||
@@ -363,7 +363,7 @@ SWITCH_DECLARE(switch_caller_extension_t *) switch_channel_get_caller_extension(
|
||||
|
||||
/*!
|
||||
\brief Test for presence of given flag on a given channel
|
||||
\param channel channel to test
|
||||
\param channel channel to test
|
||||
\param flag to test
|
||||
\return TRUE if flags were present
|
||||
*/
|
||||
@@ -447,7 +447,7 @@ SWITCH_DECLARE(void) switch_channel_check_zrtp(switch_channel_t *channel);
|
||||
*/
|
||||
#define switch_channel_mark_pre_answered(channel) switch_channel_perform_mark_pre_answered(channel, __FILE__, __SWITCH_FUNC__, __LINE__)
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_perform_ring_ready_value(switch_channel_t *channel,
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_perform_ring_ready_value(switch_channel_t *channel,
|
||||
switch_ring_ready_t rv,
|
||||
const char *file, const char *func, int line);
|
||||
/*!
|
||||
@@ -464,7 +464,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_perform_pre_answer(switch_channel
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_perform_mark_pre_answered(switch_channel_t *channel, const char *file, const char *func, int line);
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_perform_mark_ring_ready_value(switch_channel_t *channel,
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_perform_mark_ring_ready_value(switch_channel_t *channel,
|
||||
switch_ring_ready_t rv,
|
||||
const char *file, const char *func, int line);
|
||||
|
||||
@@ -561,9 +561,9 @@ SWITCH_DECLARE(switch_channel_state_t) switch_channel_perform_hangup(switch_chan
|
||||
\return number of digits in the queue
|
||||
*/
|
||||
SWITCH_DECLARE(switch_size_t) switch_channel_has_dtmf(_In_ switch_channel_t *channel);
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_dtmf_lock(switch_channel_t *channel);
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_dtmf_lock(switch_channel_t *channel);
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_try_dtmf_lock(switch_channel_t *channel);
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_dtmf_unlock(switch_channel_t *channel);
|
||||
SWITCH_DECLARE(switch_status_t) switch_channel_dtmf_unlock(switch_channel_t *channel);
|
||||
|
||||
|
||||
/*!
|
||||
@@ -658,7 +658,7 @@ SWITCH_DECLARE(char *) switch_channel_get_flag_string(switch_channel_t *channel)
|
||||
SWITCH_DECLARE(char *) switch_channel_get_cap_string(switch_channel_t *channel);
|
||||
SWITCH_DECLARE(int) switch_channel_state_change_pending(switch_channel_t *channel);
|
||||
|
||||
SWITCH_DECLARE(void) switch_channel_perform_set_callstate(switch_channel_t *channel, switch_channel_callstate_t callstate,
|
||||
SWITCH_DECLARE(void) switch_channel_perform_set_callstate(switch_channel_t *channel, switch_channel_callstate_t callstate,
|
||||
const char *file, const char *func, int line);
|
||||
#define switch_channel_set_callstate(channel, state) switch_channel_perform_set_callstate(channel, state, __FILE__, __SWITCH_FUNC__, __LINE__)
|
||||
SWITCH_DECLARE(switch_channel_callstate_t) switch_channel_get_callstate(switch_channel_t *channel);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,14 +22,14 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
* switch_config.h -- Configuration File Parser
|
||||
*
|
||||
*/
|
||||
/**
|
||||
/**
|
||||
* @file switch_config.h
|
||||
* @brief Basic Configuration File Parser
|
||||
* @see config
|
||||
@@ -42,8 +42,8 @@
|
||||
* or expanded to tie to external handlers in the future as necessary.
|
||||
* <pre>
|
||||
*
|
||||
* EXAMPLE
|
||||
*
|
||||
* EXAMPLE
|
||||
*
|
||||
* [category1]
|
||||
* var1 => val1
|
||||
* var2 => val2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
|
||||
+196
-196
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
* Michael Jerris <mike@jerris.com>
|
||||
*
|
||||
@@ -43,7 +43,7 @@ SWITCH_BEGIN_EXTERN_C
|
||||
*/
|
||||
/**
|
||||
* @defgroup switch_core_db Database Routines
|
||||
* @ingroup switch_sqlite_top
|
||||
* @ingroup switch_sqlite_top
|
||||
* @{
|
||||
*/
|
||||
/**
|
||||
@@ -60,7 +60,7 @@ typedef int (*switch_core_db_err_callback_func_t) (void *pArg, const char *errms
|
||||
** These are special value for the destructor that is passed in as the
|
||||
** final argument to routines like switch_core_db_result_blob(). If the destructor
|
||||
** argument is SWITCH_CORE_DB_STATIC, it means that the content pointer is constant
|
||||
** and will never change. It does not need to be destroyed. The
|
||||
** and will never change. It does not need to be destroyed. The
|
||||
** SWITCH_CORE_DB_TRANSIENT value means that the content will likely change in
|
||||
** the near future and that the db should make its own private copy of
|
||||
** the content before returning.
|
||||
@@ -107,7 +107,7 @@ SWITCH_DECLARE(int) switch_core_db_open(const char *filename, switch_core_db_t *
|
||||
* in a single column of the current result row of a query. In every
|
||||
* case the first parameter is a pointer to the SQL statement that is being
|
||||
* executed (the switch_core_db_stmt_t* that was returned from switch_core_db_prepare()) and
|
||||
* the second argument is the index of the column for which information
|
||||
* the second argument is the index of the column for which information
|
||||
* should be returned. iCol is zero-indexed. The left-most column as an
|
||||
* index of 0.
|
||||
*
|
||||
@@ -200,7 +200,7 @@ SWITCH_DECLARE(const char *) switch_core_db_errmsg(switch_core_db_t *db);
|
||||
*
|
||||
* The return value is is SWITCH_CORE_DB_OK if there are no errors and
|
||||
* some other return code if there is an error. The particular
|
||||
* return value depends on the type of error.
|
||||
* return value depends on the type of error.
|
||||
*
|
||||
* If the query could not be executed because a database file is
|
||||
* locked or busy, then this function returns SWITCH_CORE_DB_BUSY. (This
|
||||
@@ -214,7 +214,7 @@ SWITCH_DECLARE(int) switch_core_db_exec(switch_core_db_t *db, const char *sql, s
|
||||
* SQL statement obtained by a previous call to switch_core_db_prepare().
|
||||
* If the statement was executed successfully, or
|
||||
* not executed at all, then SWITCH_CORE_DB_OK is returned. If execution of the
|
||||
* statement failed then an error code is returned.
|
||||
* statement failed then an error code is returned.
|
||||
*
|
||||
* This routine can be called at any point during the execution of the
|
||||
* virtual machine. If the virtual machine has not completed execution
|
||||
@@ -249,12 +249,12 @@ SWITCH_DECLARE(int) switch_core_db_finalize(switch_core_db_stmt_t *pStmt);
|
||||
*/
|
||||
SWITCH_DECLARE(int) switch_core_db_prepare(switch_core_db_t *db, const char *zSql, int nBytes, switch_core_db_stmt_t **ppStmt, const char **pzTail);
|
||||
|
||||
/**
|
||||
/**
|
||||
* After an SQL query has been compiled with a call to either
|
||||
* switch_core_db_prepare(), then this function must be
|
||||
* called one or more times to execute the statement.
|
||||
*
|
||||
* The return value will be either SWITCH_CORE_DB_BUSY, SWITCH_CORE_DB_DONE,
|
||||
* The return value will be either SWITCH_CORE_DB_BUSY, SWITCH_CORE_DB_DONE,
|
||||
* SWITCH_CORE_DB_ROW, SWITCH_CORE_DB_ERROR, or SWITCH_CORE_DB_MISUSE.
|
||||
*
|
||||
* SWITCH_CORE_DB_BUSY means that the database engine attempted to open
|
||||
@@ -265,12 +265,12 @@ SWITCH_DECLARE(int) switch_core_db_prepare(switch_core_db_t *db, const char *zSq
|
||||
* successfully. switch_core_db_step() should not be called again on this virtual
|
||||
* machine.
|
||||
*
|
||||
* If the SQL statement being executed returns any data, then
|
||||
* If the SQL statement being executed returns any data, then
|
||||
* SWITCH_CORE_DB_ROW is returned each time a new row of data is ready
|
||||
* for processing by the caller. The values may be accessed using
|
||||
* the switch_core_db_column_*() functions described below. switch_core_db_step()
|
||||
* is called again to retrieve the next row of data.
|
||||
*
|
||||
*
|
||||
* SWITCH_CORE_DB_ERROR means that a run-time error (such as a constraint
|
||||
* violation) has occurred. switch_core_db_step() should not be called again on
|
||||
* the VM. More information may be found by calling switch_core_db_errmsg().
|
||||
@@ -303,7 +303,7 @@ SWITCH_DECLARE(int) switch_core_db_reset(switch_core_db_stmt_t *pStmt);
|
||||
* In every case, the first parameter is a pointer to the sqlite3_stmt
|
||||
* structure returned from switch_core_db_prepare(). The second parameter is the
|
||||
* index of the parameter. The first parameter as an index of 1. For
|
||||
* named parameters (":AAA" or "$VVV") you can use
|
||||
* named parameters (":AAA" or "$VVV") you can use
|
||||
* switch_core_db_bind_parameter_index() to get the correct index value given
|
||||
* the parameters name. If the same named parameter occurs more than
|
||||
* once, it is assigned the same index each time.
|
||||
@@ -325,7 +325,7 @@ SWITCH_DECLARE(int) switch_core_db_bind_int(switch_core_db_stmt_t *pStmt, int i,
|
||||
* In every case, the first parameter is a pointer to the sqlite3_stmt
|
||||
* structure returned from switch_core_db_prepare(). The second parameter is the
|
||||
* index of the parameter. The first parameter as an index of 1. For
|
||||
* named parameters (":AAA" or "$VVV") you can use
|
||||
* named parameters (":AAA" or "$VVV") you can use
|
||||
* switch_core_db_bind_parameter_index() to get the correct index value given
|
||||
* the parameters name. If the same named parameter occurs more than
|
||||
* once, it is assigned the same index each time.
|
||||
@@ -347,7 +347,7 @@ SWITCH_DECLARE(int) switch_core_db_bind_int64(switch_core_db_stmt_t *pStmt, int
|
||||
* In every case, the first parameter is a pointer to the sqlite3_stmt
|
||||
* structure returned from switch_core_db_prepare(). The second parameter is the
|
||||
* index of the parameter. The first parameter as an index of 1. For
|
||||
* named parameters (":AAA" or "$VVV") you can use
|
||||
* named parameters (":AAA" or "$VVV") you can use
|
||||
* switch_core_db_bind_parameter_index() to get the correct index value given
|
||||
* the parameters name. If the same named parameter occurs more than
|
||||
* once, it is assigned the same index each time.
|
||||
@@ -377,7 +377,7 @@ SWITCH_DECLARE(int) switch_core_db_bind_text(switch_core_db_stmt_t *pStmt, int i
|
||||
* In every case, the first parameter is a pointer to the sqlite3_stmt
|
||||
* structure returned from switch_core_db_prepare(). The second parameter is the
|
||||
* index of the parameter. The first parameter as an index of 1. For
|
||||
* named parameters (":AAA" or "$VVV") you can use
|
||||
* named parameters (":AAA" or "$VVV") you can use
|
||||
* sqlite3_bind_parameter_index() to get the correct index value given
|
||||
* the parameters name. If the same named parameter occurs more than
|
||||
* once, it is assigned the same index each time.
|
||||
@@ -404,7 +404,7 @@ SWITCH_DECLARE(int64_t) switch_core_db_last_insert_rowid(switch_core_db_t *db);
|
||||
* Instead of invoking a user-supplied callback for each row of the
|
||||
* result, this routine remembers each row of the result in memory
|
||||
* obtained from malloc(), then returns all of the result after the
|
||||
* query has finished.
|
||||
* query has finished.
|
||||
*
|
||||
* As an example, suppose the query result where this table:
|
||||
*
|
||||
@@ -431,11 +431,11 @@ SWITCH_DECLARE(int64_t) switch_core_db_last_insert_rowid(switch_core_db_t *db);
|
||||
* set to 2. In general, the number of values inserted into azResult
|
||||
* will be ((*nrow) + 1)*(*ncolumn).
|
||||
*
|
||||
* After the calling function has finished using the result, it should
|
||||
* pass the result data pointer to switch_core_db_free_table() in order to
|
||||
* release the memory that was malloc-ed. Because of the way the
|
||||
* malloc() happens, the calling function must not try to call
|
||||
* free() directly. Only switch_core_db_free_table() is able to release
|
||||
* After the calling function has finished using the result, it should
|
||||
* pass the result data pointer to switch_core_db_free_table() in order to
|
||||
* release the memory that was malloc-ed. Because of the way the
|
||||
* malloc() happens, the calling function must not try to call
|
||||
* free() directly. Only switch_core_db_free_table() is able to release
|
||||
* the memory properly and safely.
|
||||
*
|
||||
* The return value of this routine is the same as from switch_core_db_exec().
|
||||
@@ -542,7 +542,7 @@ SWITCH_DECLARE(int) switch_core_db_load_extension(switch_core_db_t *db, const ch
|
||||
* INSERT INTO table1 VALUES('It's a happy day!');
|
||||
*
|
||||
* This second example is an SQL syntax error. As a general rule you
|
||||
* should always use %q instead of %s when inserting text into a string
|
||||
* should always use %q instead of %s when inserting text into a string
|
||||
* literal.
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
* switch_core_event_hook.h Core Event Hooks
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -23,7 +23,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
* switch_core_media.c -- Core Media
|
||||
@@ -134,7 +134,7 @@ typedef struct switch_core_media_params_s {
|
||||
char *rtpip;
|
||||
char *rtpip4;
|
||||
char *rtpip6;
|
||||
|
||||
|
||||
|
||||
char *remote_ip;
|
||||
int remote_port;
|
||||
@@ -185,7 +185,7 @@ static inline const char *switch_media_type2str(switch_media_type_t type)
|
||||
return "video";
|
||||
default:
|
||||
return "!ERR";
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,7 +201,7 @@ SWITCH_DECLARE(int32_t) switch_media_handle_test_media_flag(switch_media_handle_
|
||||
SWITCH_DECLARE(void) switch_media_handle_set_media_flags(switch_media_handle_t *smh, switch_core_media_flag_t flags[]);
|
||||
SWITCH_DECLARE(void) switch_core_session_check_outgoing_crypto(switch_core_session_t *session);
|
||||
SWITCH_DECLARE(const char *) switch_core_session_local_crypto_key(switch_core_session_t *session, switch_media_type_t type);
|
||||
SWITCH_DECLARE(int) switch_core_session_check_incoming_crypto(switch_core_session_t *session,
|
||||
SWITCH_DECLARE(int) switch_core_session_check_incoming_crypto(switch_core_session_t *session,
|
||||
const char *varname,
|
||||
switch_media_type_t type, const char *crypto, int crypto_tag, switch_sdp_type_t sdp_type);
|
||||
|
||||
@@ -224,7 +224,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_set_codec(switch_core_session_
|
||||
SWITCH_DECLARE(void) switch_core_media_check_video_codecs(switch_core_session_t *session);
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_media_read_frame(switch_core_session_t *session, switch_frame_t **frame,
|
||||
switch_io_flag_t flags, int stream_id, switch_media_type_t type);
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_media_write_frame(switch_core_session_t *session,
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_media_write_frame(switch_core_session_t *session,
|
||||
switch_frame_t *frame, switch_io_flag_t flags, int stream_id, switch_media_type_t type);
|
||||
SWITCH_DECLARE(int) switch_core_media_check_nat(switch_media_handle_t *smh, const char *network_ip);
|
||||
|
||||
@@ -237,9 +237,9 @@ SWITCH_DECLARE(void) switch_core_media_parse_media_flags(switch_core_session_t *
|
||||
SWITCH_DECLARE(void) switch_core_media_deactivate_rtp(switch_core_session_t *session);
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_session_t *session);
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_media_ext_address_lookup(switch_core_session_t *session, char **ip, switch_port_t *port, const char *sourceip);
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_media_process_t38_passthru(switch_core_session_t *session,
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_media_process_t38_passthru(switch_core_session_t *session,
|
||||
switch_core_session_t *other_session, switch_t38_options_t *t38_options);
|
||||
SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *session, switch_sdp_type_t sdp_type,
|
||||
SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *session, switch_sdp_type_t sdp_type,
|
||||
const char *ip, switch_port_t port, const char *sr, int force);
|
||||
SWITCH_DECLARE(void)switch_core_media_set_local_sdp(switch_core_session_t *session, const char *sdp_str, switch_bool_t dup);
|
||||
SWITCH_DECLARE(void) switch_core_media_patch_sdp(switch_core_session_t *session);
|
||||
@@ -295,14 +295,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_get_payload_code(switch_core
|
||||
switch_payload_t *recv_ptP,
|
||||
char **fmtpP);
|
||||
|
||||
SWITCH_DECLARE(payload_map_t *) switch_core_media_add_payload_map(switch_core_session_t *session,
|
||||
SWITCH_DECLARE(payload_map_t *) switch_core_media_add_payload_map(switch_core_session_t *session,
|
||||
switch_media_type_t type,
|
||||
const char *name,
|
||||
const char *modname,
|
||||
const char *name,
|
||||
const char *modname,
|
||||
const char *fmtp,
|
||||
switch_sdp_type_t sdp_type,
|
||||
uint32_t pt,
|
||||
uint32_t rate,
|
||||
uint32_t pt,
|
||||
uint32_t rate,
|
||||
uint32_t ptime,
|
||||
uint32_t channels,
|
||||
uint8_t negotiated);
|
||||
@@ -315,10 +315,10 @@ SWITCH_DECLARE(char *) switch_core_media_filter_sdp(const char *sdp, const char
|
||||
SWITCH_DECLARE(char *) switch_core_media_process_sdp_filter(const char *sdp, const char *cmd_buf, switch_core_session_t *session);
|
||||
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_session_t *session,
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_session_t *session,
|
||||
switch_media_type_t mtype,
|
||||
switch_io_type_t iotype,
|
||||
switch_codec_control_command_t cmd,
|
||||
switch_codec_control_command_t cmd,
|
||||
switch_codec_control_type_t ctype,
|
||||
void *cmd_data,
|
||||
switch_codec_control_type_t atype,
|
||||
@@ -326,7 +326,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_sess
|
||||
switch_codec_control_type_t *rtype,
|
||||
void **ret_data);
|
||||
|
||||
SWITCH_DECLARE(switch_bool_t) switch_core_media_codec_get_cap(switch_core_session_t *session,
|
||||
SWITCH_DECLARE(switch_bool_t) switch_core_media_codec_get_cap(switch_core_session_t *session,
|
||||
switch_media_type_t mtype,
|
||||
switch_codec_flag_t flag);
|
||||
|
||||
@@ -346,7 +346,7 @@ SWITCH_DECLARE(int) switch_core_media_check_engine_function(switch_core_session_
|
||||
SWITCH_DECLARE(void) switch_core_session_video_reinit(switch_core_session_t *session);
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_media_read_lock_unlock(switch_core_session_t *session, switch_media_type_t type, switch_bool_t lock);
|
||||
|
||||
#define switch_core_media_read_lock(_s, _t) switch_core_media_read_lock_unlock(_s, _t, SWITCH_TRUE)
|
||||
#define switch_core_media_read_lock(_s, _t) switch_core_media_read_lock_unlock(_s, _t, SWITCH_TRUE)
|
||||
#define switch_core_media_read_unlock(_s, _t) switch_core_media_read_lock_unlock(_s, _t, SWITCH_FALSE)
|
||||
|
||||
SWITCH_DECLARE(void) switch_core_session_stop_media(switch_core_session_t *session);
|
||||
@@ -363,7 +363,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_reset_jb(switch_core_session_t
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_session_wait_for_video_input_params(switch_core_session_t *session, uint32_t timeout_ms);
|
||||
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_session_set_text_read_callback(switch_core_session_t *session,
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_session_set_text_read_callback(switch_core_session_t *session,
|
||||
switch_core_text_thread_callback_func_t func, void *user_data);
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_session_text_read_callback(switch_core_session_t *session, switch_frame_t *frame);
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_session_read_text_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags,
|
||||
@@ -373,7 +373,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_text_frame(switch_core
|
||||
int stream_id);
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_text_factory_create(switch_rtp_text_factory_t **tfP, switch_memory_pool_t *pool);
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_text_factory_destroy(switch_rtp_text_factory_t **tfP);
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_text_factory_destroy(switch_rtp_text_factory_t **tfP);
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_session_print(switch_core_session_t *session, const char *data);
|
||||
SWITCH_DECLARE(switch_status_t) switch_core_session_printf(switch_core_session_t *session, const char *fmt, ...);
|
||||
|
||||
@@ -103,7 +103,7 @@ typedef enum {
|
||||
SRM_180 = 180, // Rotate 180 degrees.
|
||||
SRM_270 = 270, // Rotate 270 degrees clockwise.
|
||||
} switch_image_rotation_mode_t;
|
||||
|
||||
|
||||
|
||||
/*!\brief Open a descriptor, allocating storage for the underlying image
|
||||
*
|
||||
@@ -318,7 +318,7 @@ SWITCH_DECLARE(void) switch_img_txt_handle_destroy(switch_img_txt_handle_t **han
|
||||
SWITCH_DECLARE(uint32_t) switch_img_txt_handle_render(switch_img_txt_handle_t *handle, switch_image_t *img,
|
||||
int x, int y, const char *text,
|
||||
const char *font_family, const char *font_color, const char *bgcolor, uint16_t font_size, double angle);
|
||||
|
||||
|
||||
|
||||
SWITCH_DECLARE(void) switch_img_patch_hole(switch_image_t *IMG, switch_image_t *img, int x, int y, switch_image_rect_t *rect);
|
||||
|
||||
|
||||
+17
-17
@@ -96,7 +96,7 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
|
||||
const char *confirm_key,
|
||||
const char *tts_engine,
|
||||
const char *tts_voice,
|
||||
int confirm_attempts, int inter_timeout, int digit_len,
|
||||
int confirm_attempts, int inter_timeout, int digit_len,
|
||||
int timeout, int max_failures, int max_timeouts);
|
||||
virtual SWITCH_DECLARE_CONSTRUCTOR ~ IVRMenu();
|
||||
SWITCH_DECLARE(void) bindAction(char *action, const char *arg, const char *bind);
|
||||
@@ -123,7 +123,7 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
|
||||
void *threadState; // pointer to the language specific thread state
|
||||
// eg, PyThreadState *threadState
|
||||
void *extra; // currently used to store a switch_file_handle_t
|
||||
char *funcargs; // extra string that will be passed to callback function
|
||||
char *funcargs; // extra string that will be passed to callback function
|
||||
} input_callback_state_t;
|
||||
|
||||
typedef enum {
|
||||
@@ -211,7 +211,7 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
|
||||
// instead set them here first
|
||||
char *xml_cdr_text;
|
||||
void store_file_handle(switch_file_handle_t *fh);
|
||||
void *on_hangup; // language specific callback function, cast as void *
|
||||
void *on_hangup; // language specific callback function, cast as void *
|
||||
switch_file_handle_t *fhp;
|
||||
char dtmf_buf[512];
|
||||
|
||||
@@ -251,9 +251,9 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
|
||||
SWITCH_DECLARE(const char *) getState();
|
||||
|
||||
/** \brief Record to a file
|
||||
* \param file_name
|
||||
* \param file_name
|
||||
* \param <[max_len]> maximum length of the recording in seconds
|
||||
* \param <[silence_threshold]> energy level audio must fall below
|
||||
* \param <[silence_threshold]> energy level audio must fall below
|
||||
* to be considered silence (500 is a good starting point).
|
||||
* \param <[silence_secs]> seconds of silence to interrupt the record.
|
||||
*/
|
||||
@@ -266,8 +266,8 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
|
||||
|
||||
/** \brief Originate a call to a destination
|
||||
*
|
||||
* \param a_leg_session - the session where the call is originating from
|
||||
* and also the session in which _this_ session was
|
||||
* \param a_leg_session - the session where the call is originating from
|
||||
* and also the session in which _this_ session was
|
||||
* created
|
||||
* \param dest - a string representing destination, eg, sofia/mydomain.com/foo\@bar.com
|
||||
* \param timeout - time to wait for call to be answered
|
||||
@@ -280,10 +280,10 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
|
||||
SWITCH_DECLARE(virtual void) destroy(void);
|
||||
|
||||
/** \brief set a DTMF callback function
|
||||
*
|
||||
*
|
||||
* The DTMF callback function will be set and persist
|
||||
* for the life of the session, and be called when a dtmf
|
||||
* is pressed by user during streamfile(), collectDigits(), and
|
||||
* is pressed by user during streamfile(), collectDigits(), and
|
||||
* certain other methods are executing.
|
||||
*
|
||||
*/
|
||||
@@ -300,9 +300,9 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
|
||||
SWITCH_DECLARE(int) collectDigits(int abs_timeout);
|
||||
SWITCH_DECLARE(int) collectDigits(int digit_timeout, int abs_timeout);
|
||||
|
||||
/**
|
||||
/**
|
||||
* Collect up to maxdigits digits worth of digits
|
||||
* and store them in dtmf_buf. In the case of mod_python, the
|
||||
* and store them in dtmf_buf. In the case of mod_python, the
|
||||
* dtmf_buf parameter is configured to act as a _return_ value,
|
||||
* (see mod_python.i). This does NOT call any callbacks upon
|
||||
* receiving dtmf digits. For that, use collectDigits.
|
||||
@@ -313,14 +313,14 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
|
||||
SWITCH_DECLARE(int) transfer(char *extension, char *dialplan = NULL, char *context = NULL);
|
||||
|
||||
|
||||
SWITCH_DECLARE(char *) read(int min_digits, int max_digits,
|
||||
SWITCH_DECLARE(char *) read(int min_digits, int max_digits,
|
||||
const char *prompt_audio_file, int timeout, const char *valid_terminators, int digit_timeout = 0);
|
||||
|
||||
/** \brief Play a file into channel and collect dtmfs
|
||||
*
|
||||
*
|
||||
* See API docs in switch_ivr.h: switch_play_and_get_digits(..)
|
||||
*
|
||||
* NOTE: this does not call any dtmf callbacks set by
|
||||
* NOTE: this does not call any dtmf callbacks set by
|
||||
* setDTMFCallback(..) as it uses its own internal callback
|
||||
* handler.
|
||||
*/
|
||||
@@ -334,7 +334,7 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
|
||||
/** \brief Play a file that resides on disk into the channel
|
||||
*
|
||||
* \param file - the path to the .wav/.mp3 to be played
|
||||
* \param starting_sample_count - the index of the sample to
|
||||
* \param starting_sample_count - the index of the sample to
|
||||
* start playing from
|
||||
* \return an int status code indicating success or failure
|
||||
*
|
||||
@@ -374,7 +374,7 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
|
||||
virtual bool begin_allow_threads() = 0;
|
||||
virtual bool end_allow_threads() = 0;
|
||||
|
||||
/** \brief Get the uuid of this session
|
||||
/** \brief Get the uuid of this session
|
||||
* \return the uuid of this session
|
||||
*/
|
||||
const char *get_uuid() const {
|
||||
@@ -407,7 +407,7 @@ SWITCH_DECLARE(void) console_clean_log(char *msg);
|
||||
SWITCH_DECLARE(void) switch_msleep(unsigned ms);
|
||||
|
||||
/** \brief bridge the audio of session_b into session_a
|
||||
*
|
||||
*
|
||||
* NOTE: the stuff regarding the dtmf callback might be completely
|
||||
* wrong and has not been reviewed or tested
|
||||
*/
|
||||
|
||||
@@ -54,7 +54,7 @@ SWITCH_DECLARE(switch_status_t) switch_curl_process_form_post_params(switch_even
|
||||
#define switch_curl_easy_setopt curl_easy_setopt
|
||||
|
||||
SWITCH_END_EXTERN_C
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* Cross Platform dso/dll load abstraction
|
||||
* Copyright(C) 2008 Michael Jerris
|
||||
*
|
||||
@@ -13,7 +13,7 @@
|
||||
* code prove defective in any respect, you (not the initial developer or any other contributor)
|
||||
* assume the cost of any necessary servicing, repair or correction. This disclaimer of warranty
|
||||
* constitutes an essential part of this license. No use of any covered code is authorized hereunder
|
||||
* except under this disclaimer.
|
||||
* except under this disclaimer.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2015, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Dragos Oancea <droancea@yahoo.com>
|
||||
*
|
||||
* switch_estimators.h -- Estimators for Packet Loss, Jitter, RTT , etc
|
||||
@@ -32,8 +32,8 @@
|
||||
|
||||
#ifndef SWITCH_ESTIMATORS_H
|
||||
#define SWITCH_ESTIMATORS_H
|
||||
|
||||
|
||||
|
||||
|
||||
#include <switch.h>
|
||||
|
||||
|
||||
@@ -41,27 +41,27 @@ SWITCH_BEGIN_EXTERN_C
|
||||
|
||||
struct kalman_estimator_s {
|
||||
/* initial values for the Kalman filter */
|
||||
float val_estimate_last ;
|
||||
float P_last ;
|
||||
float val_estimate_last ;
|
||||
float P_last ;
|
||||
/* the noise in the system:
|
||||
The amount of noise in your measurements and the state-transitions
|
||||
(e.g. the standard deviation of the signal noise, and how 'wrong' your simplified model
|
||||
The amount of noise in your measurements and the state-transitions
|
||||
(e.g. the standard deviation of the signal noise, and how 'wrong' your simplified model
|
||||
of the state-transitions are) => These are Q and R matrices */
|
||||
float Q ; /* the process noise covariance matrix */
|
||||
float R ; /* the measurement noise covariance matrix */
|
||||
float K; /* P_temp * H^T * (H* P_temp * H^T + R)^-1 */
|
||||
float P; /* the Kalman gain (calculated) */
|
||||
float val_estimate; /* x_temp_est + K * (z_measured - H * x_temp_est) */
|
||||
float val_measured; /* the 'noisy' value we measured */
|
||||
};
|
||||
float val_measured; /* the 'noisy' value we measured */
|
||||
};
|
||||
|
||||
struct cusum_kalman_detector_s {
|
||||
/* initial values for the CUSUM Kalman filter */
|
||||
float val_estimate_last;
|
||||
float val_desired_last;
|
||||
float val_desired_last;
|
||||
float P_last;
|
||||
float K_last;
|
||||
float delta;
|
||||
float delta;
|
||||
float measurement_noise_e;
|
||||
float variance_Re;
|
||||
float measurement_noise_v;
|
||||
@@ -73,14 +73,14 @@ struct cusum_kalman_detector_s {
|
||||
/* for calculating variance */
|
||||
float last_average;
|
||||
float last_q;
|
||||
float N; /*how many samples we have so far (eg: how many RTCP we received, granted that we can calculate RTT for each one of them)*/
|
||||
float N; /*how many samples we have so far (eg: how many RTCP we received, granted that we can calculate RTT for each one of them)*/
|
||||
};
|
||||
|
||||
typedef struct kalman_estimator_s kalman_estimator_t;
|
||||
typedef struct cusum_kalman_detector_s cusum_kalman_detector_t;
|
||||
|
||||
SWITCH_DECLARE(void) switch_kalman_init(kalman_estimator_t *est, float Q, float R);
|
||||
SWITCH_DECLARE(switch_bool_t) switch_kalman_cusum_init(cusum_kalman_detector_t *detect_change, float epsilon,float h);
|
||||
SWITCH_DECLARE(switch_bool_t) switch_kalman_cusum_init(cusum_kalman_detector_t *detect_change, float epsilon,float h);
|
||||
SWITCH_DECLARE(switch_bool_t) switch_kalman_estimate(kalman_estimator_t * est, float measurement, int system_model);
|
||||
SWITCH_DECLARE (switch_bool_t) switch_kalman_cusum_detect_change(cusum_kalman_detector_t * detector, float measurement, float rtt_avg);
|
||||
SWITCH_DECLARE(switch_bool_t) switch_kalman_is_slow_link(kalman_estimator_t * est_loss, kalman_estimator_t * est_rtt);
|
||||
|
||||
+10
-10
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -31,20 +31,20 @@
|
||||
*/
|
||||
/*! \file switch_event.h
|
||||
\brief Event System
|
||||
|
||||
|
||||
The event system uses a backend thread and an APR threadsafe FIFO queue to accept event objects from various threads
|
||||
and allow the backend to take control and deliver the events to registered callbacks.
|
||||
|
||||
The typical usage would be to bind to one or all of the events and use a callback function to react in various ways
|
||||
(see the more_xmpp_event_handler or mod_event_test modules for examples).
|
||||
|
||||
Builtin events are fired by the core at various points in the execution of the application and custom events can be
|
||||
Builtin events are fired by the core at various points in the execution of the application and custom events can be
|
||||
reserved and registered so events from an external module can be rendered and handled by an another even handler module.
|
||||
|
||||
If the work time to process an event in a callback is anticipated to grow beyond a very small amount of time it is recommended
|
||||
that you implement your own handler thread and FIFO queue so you can accept the events in the callback and queue them
|
||||
into your own thread rather than tie up the delivery agent. It is in the opinion of the author that such a necessity
|
||||
should be judged on a per-use basis and therefore it does not fall within the scope of this system to provide that
|
||||
that you implement your own handler thread and FIFO queue so you can accept the events in the callback and queue them
|
||||
into your own thread rather than tie up the delivery agent. It is in the opinion of the author that such a necessity
|
||||
should be judged on a per-use basis and therefore it does not fall within the scope of this system to provide that
|
||||
functionality at a core level.
|
||||
|
||||
*/
|
||||
@@ -52,7 +52,7 @@
|
||||
/*!
|
||||
\defgroup events Eventing Engine
|
||||
\ingroup core1
|
||||
\{
|
||||
\{
|
||||
*/
|
||||
|
||||
#ifndef SWITCH_EVENT_H
|
||||
@@ -304,7 +304,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_reserve_subclass_detailed(const cha
|
||||
SWITCH_DECLARE(switch_status_t) switch_event_free_subclass_detailed(const char *owner, const char *subclass_name);
|
||||
|
||||
/*!
|
||||
\brief Render a string representation of an event suitable for printing or network transport
|
||||
\brief Render a string representation of an event suitable for printing or network transport
|
||||
\param event the event to render
|
||||
\param str a string pointer to point at the allocated data
|
||||
\param encode url encode the headers
|
||||
@@ -430,7 +430,7 @@ SWITCH_DECLARE(void) switch_event_launch_dispatch_threads(uint32_t max);
|
||||
SWITCH_DECLARE(switch_status_t) switch_event_channel_broadcast(const char *event_channel, cJSON **json, const char *key, switch_event_channel_id_t id);
|
||||
SWITCH_DECLARE(uint32_t) switch_event_channel_unbind(const char *event_channel, switch_event_channel_func_t func);
|
||||
SWITCH_DECLARE(switch_status_t) switch_event_channel_bind(const char *event_channel, switch_event_channel_func_t func, switch_event_channel_id_t *id);
|
||||
|
||||
|
||||
|
||||
typedef void (*switch_live_array_command_handler_t)(switch_live_array_t *la, const char *cmd, const char *sessid, cJSON *jla, void *user_data);
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
*
|
||||
* switch_hashtable.h -- Hashtable
|
||||
@@ -39,7 +39,7 @@ typedef struct switch_hashtable_iterator switch_hashtable_iterator_t;
|
||||
* v = (struct some_value *) malloc(sizeof(struct some_value));
|
||||
*
|
||||
* (initialise k and v to suitable values)
|
||||
*
|
||||
*
|
||||
* if (! hashtable_insert(h,k,v) )
|
||||
* { exit(-1); }
|
||||
*
|
||||
@@ -53,7 +53,7 @@ typedef struct switch_hashtable_iterator switch_hashtable_iterator_t;
|
||||
|
||||
/* Macros may be used to define type-safe(r) hashtable access functions, with
|
||||
* methods specialized to take known key and value types as parameters.
|
||||
*
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* Insert this at the start of your file:
|
||||
@@ -83,7 +83,7 @@ typedef struct switch_hashtable_iterator switch_hashtable_iterator_t;
|
||||
|
||||
/*****************************************************************************
|
||||
* create_hashtable
|
||||
|
||||
|
||||
* @name create_hashtable
|
||||
* @param minsize minimum initial size of hashtable
|
||||
* @param hashfunction function for hashing keys
|
||||
@@ -98,7 +98,7 @@ switch_create_hashtable(switch_hashtable_t **hp, unsigned int minsize,
|
||||
|
||||
/*****************************************************************************
|
||||
* hashtable_insert
|
||||
|
||||
|
||||
* @name hashtable_insert
|
||||
* @param h the hashtable to insert into
|
||||
* @param k the key - hashtable claims ownership and will free on removal
|
||||
@@ -135,7 +135,7 @@ switch_hashtable_insert_destructor(switch_hashtable_t *h, void *k, void *v, hash
|
||||
|
||||
/*****************************************************************************
|
||||
* hashtable_search
|
||||
|
||||
|
||||
* @name hashtable_search
|
||||
* @param h the hashtable to search
|
||||
* @param k the key to search for - does not claim ownership
|
||||
@@ -153,7 +153,7 @@ switch_hashtable_search(switch_hashtable_t *h, void *k);
|
||||
|
||||
/*****************************************************************************
|
||||
* hashtable_remove
|
||||
|
||||
|
||||
* @name hashtable_remove
|
||||
* @param h the hashtable to remove the item from
|
||||
* @param k the key to search for - does not claim ownership
|
||||
@@ -172,7 +172,7 @@ switch_hashtable_remove(switch_hashtable_t *h, void *k);
|
||||
|
||||
/*****************************************************************************
|
||||
* hashtable_count
|
||||
|
||||
|
||||
* @name hashtable_count
|
||||
* @param h the hashtable
|
||||
* @return the number of items stored in the hashtable
|
||||
@@ -183,7 +183,7 @@ switch_hashtable_count(switch_hashtable_t *h);
|
||||
|
||||
/*****************************************************************************
|
||||
* hashtable_destroy
|
||||
|
||||
|
||||
* @name hashtable_destroy
|
||||
* @param h the hashtable
|
||||
* @param free_values whether to call 'free' on the remaining values
|
||||
@@ -226,7 +226,7 @@ static inline uint32_t switch_hash_default(void *ky)
|
||||
unsigned char *str = (unsigned char *) ky;
|
||||
uint32_t hash = 0;
|
||||
int c;
|
||||
|
||||
|
||||
while ((c = *str)) {
|
||||
str++;
|
||||
hash = c + (hash << 6) + (hash << 16) - hash;
|
||||
@@ -240,7 +240,7 @@ static inline uint32_t switch_hash_default_ci(void *ky)
|
||||
unsigned char *str = (unsigned char *) ky;
|
||||
uint32_t hash = 0;
|
||||
int c;
|
||||
|
||||
|
||||
while ((c = switch_tolower(*str))) {
|
||||
str++;
|
||||
hash = c + (hash << 6) + (hash << 16) - hash;
|
||||
@@ -261,23 +261,23 @@ static inline uint32_t switch_hash_default_ci(void *ky)
|
||||
/*
|
||||
* Copyright (c) 2002, Christopher Clark
|
||||
* All rights reserved.
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
*
|
||||
* * Neither the name of the original author; nor the names of any contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
|
||||
+24
-24
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
* Neal Horman <neal at wanlink dot com>
|
||||
* Bret McDanel <trixter AT 0xdecafbad dot com>
|
||||
@@ -31,7 +31,7 @@
|
||||
* switch_ivr.h -- IVR Library
|
||||
*
|
||||
*/
|
||||
/**
|
||||
/**
|
||||
* @file switch_ivr.h
|
||||
* @brief IVR Library
|
||||
* @see switch_ivr
|
||||
@@ -75,7 +75,7 @@ typedef struct switch_unicast_conninfo switch_unicast_conninfo_t;
|
||||
/**
|
||||
* @defgroup switch_ivr IVR Library
|
||||
* @ingroup core1
|
||||
* A group of core functions to do IVR related functions designed to be
|
||||
* A group of core functions to do IVR related functions designed to be
|
||||
* building blocks for a higher level IVR interface.
|
||||
* @{
|
||||
*/
|
||||
@@ -179,8 +179,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_collect_digits_count(switch_core_sess
|
||||
\param args arguements to pass for callbacks etc
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_play_and_detect_speech(switch_core_session_t *session,
|
||||
const char *file,
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_play_and_detect_speech(switch_core_session_t *session,
|
||||
const char *file,
|
||||
const char *mod_name,
|
||||
const char *grammar,
|
||||
char **result,
|
||||
@@ -585,7 +585,7 @@ SWITCH_DECLARE(uint32_t) switch_ivr_schedule_hangup(time_t runtime, const char *
|
||||
\param originator_uuid the uuid of the originator
|
||||
\param originatee_uuid the uuid of the originator
|
||||
\remark Any custom state handlers on both channels will be deleted
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_uuid_bridge(const char *originator_uuid, const char *originatee_uuid);
|
||||
|
||||
@@ -670,11 +670,11 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_broadcast(const char *uuid, const cha
|
||||
SWITCH_DECLARE(void) switch_ivr_broadcast_in_thread(switch_core_session_t *session, const char *app, int flags);
|
||||
|
||||
/*!
|
||||
\brief Transfer variables from one session to another
|
||||
\brief Transfer variables from one session to another
|
||||
\param sessa the original session
|
||||
\param sessb the new session
|
||||
\param var the name of the variable to transfer (NULL for all)
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_transfer_variable(switch_core_session_t *sessa, switch_core_session_t *sessb, char *var);
|
||||
|
||||
@@ -689,14 +689,14 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_transfer_variable(switch_core_session
|
||||
\brief Create a digit stream parser object
|
||||
\param pool the pool to use for the new hash
|
||||
\param parser a pointer to the object pointer
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_parser_new(switch_memory_pool_t *pool, switch_ivr_digit_stream_parser_t ** parser);
|
||||
|
||||
/*!
|
||||
\brief Destroy a digit stream parser object
|
||||
\param parser a pointer to the parser object
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_parser_destroy(switch_ivr_digit_stream_parser_t *parser);
|
||||
|
||||
@@ -720,7 +720,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_destroy(switch_ivr_digit
|
||||
\param parser a pointer to the parser object created by switch_ivr_digit_stream_parser_new
|
||||
\param digits a string of digits to associate with an action
|
||||
\param data consumer data attached to this digit string
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_parser_set_event(switch_ivr_digit_stream_parser_t *parser, char *digits, void *data);
|
||||
|
||||
@@ -728,7 +728,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_parser_set_event(switch_
|
||||
\brief Delete a string to action mapping
|
||||
\param parser a pointer to the parser object created by switch_ivr_digit_stream_parser_new
|
||||
\param digits the digit string to be removed from the map
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_parser_del_event(switch_ivr_digit_stream_parser_t *parser, char *digits);
|
||||
|
||||
@@ -744,7 +744,7 @@ SWITCH_DECLARE(void *) switch_ivr_digit_stream_parser_feed(switch_ivr_digit_stre
|
||||
/*!
|
||||
\brief Reset the collected digit stream to nothing
|
||||
\param stream a pointer to the parser stream object created by switch_ivr_digit_stream_new
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_reset(switch_ivr_digit_stream_t *stream);
|
||||
|
||||
@@ -752,7 +752,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_reset(switch_ivr_digit_s
|
||||
\brief Set a digit string terminator
|
||||
\param parser a pointer to the parser object created by switch_ivr_digit_stream_parser_new
|
||||
\param digit the terminator digit
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
\return SWITCH_STATUS_SUCCESS if all is well
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_parser_set_terminator(switch_ivr_digit_stream_parser_t *parser, char digit);
|
||||
|
||||
@@ -766,7 +766,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_digit_stream_parser_set_terminator(sw
|
||||
* @defgroup switch_ivr_menu IVR Menu Library
|
||||
* @ingroup switch_ivr
|
||||
* IVR menu functions
|
||||
*
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
@@ -918,9 +918,9 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_read(switch_core_session_t *session,
|
||||
uint32_t max_digits,
|
||||
const char *prompt_audio_file,
|
||||
const char *var_name,
|
||||
char *digit_buffer,
|
||||
switch_size_t digit_buffer_length,
|
||||
uint32_t timeout,
|
||||
char *digit_buffer,
|
||||
switch_size_t digit_buffer_length,
|
||||
uint32_t timeout,
|
||||
const char *valid_terminators,
|
||||
uint32_t digit_timeout);
|
||||
|
||||
@@ -977,7 +977,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_dmachine_last_ping(switch_ivr_dmachin
|
||||
SWITCH_DECLARE(const char *) switch_ivr_dmachine_get_name(switch_ivr_dmachine_t *dmachine);
|
||||
SWITCH_DECLARE(void) switch_ivr_dmachine_set_match_callback(switch_ivr_dmachine_t *dmachine, switch_ivr_dmachine_callback_t match_callback);
|
||||
SWITCH_DECLARE(void) switch_ivr_dmachine_set_nonmatch_callback(switch_ivr_dmachine_t *dmachine, switch_ivr_dmachine_callback_t nonmatch_callback);
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_dmachine_create(switch_ivr_dmachine_t **dmachine_p,
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_dmachine_create(switch_ivr_dmachine_t **dmachine_p,
|
||||
const char *name,
|
||||
switch_memory_pool_t *pool,
|
||||
uint32_t digit_timeout, uint32_t input_timeout,
|
||||
@@ -987,10 +987,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_dmachine_create(switch_ivr_dmachine_t
|
||||
|
||||
SWITCH_DECLARE(void) switch_ivr_dmachine_destroy(switch_ivr_dmachine_t **dmachine);
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_dmachine_bind(switch_ivr_dmachine_t *dmachine,
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_dmachine_bind(switch_ivr_dmachine_t *dmachine,
|
||||
const char *realm,
|
||||
const char *digits,
|
||||
switch_byte_t is_priority,
|
||||
const char *digits,
|
||||
switch_byte_t is_priority,
|
||||
int32_t key,
|
||||
switch_ivr_dmachine_callback_t callback,
|
||||
void *user_data);
|
||||
@@ -1019,7 +1019,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_record_session_mask(switch_core_sessi
|
||||
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_stop_video_write_overlay_session(switch_core_session_t *session);
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_video_write_overlay_session(switch_core_session_t *session, const char *img_path,
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_video_write_overlay_session(switch_core_session_t *session, const char *img_path,
|
||||
switch_img_position_t pos, uint8_t alpha);
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_ivr_capture_text(switch_core_session_t *session, switch_bool_t on);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
* switch_jitterbuffer.h -- Audio/Video Jitter Buffer
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
/*
|
||||
Copyright (c) 2009 Dave Gamble
|
||||
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
@@ -36,7 +36,7 @@ extern "C"
|
||||
#define cJSON_String 4
|
||||
#define cJSON_Array 5
|
||||
#define cJSON_Object 6
|
||||
|
||||
|
||||
#define cJSON_IsReference 256
|
||||
|
||||
/* The cJSON structure: */
|
||||
@@ -81,7 +81,7 @@ SWITCH_DECLARE(const char *)cJSON_GetObjectCstr(const cJSON *object, const char
|
||||
|
||||
/* For analysing failed parses. This returns a pointer to the parse error. You'll probably need to look a few chars back to make sense of it. Defined when cJSON_Parse() returns 0. 0 when cJSON_Parse() succeeds. */
|
||||
SWITCH_DECLARE(const char *)cJSON_GetErrorPtr(void);
|
||||
|
||||
|
||||
/* These calls create a cJSON item of the appropriate type. */
|
||||
SWITCH_DECLARE(cJSON *)cJSON_CreateNull(void);
|
||||
SWITCH_DECLARE(cJSON *)cJSON_CreateTrue(void);
|
||||
@@ -110,7 +110,7 @@ SWITCH_DECLARE(cJSON *)cJSON_DetachItemFromArray(cJSON *array,int which);
|
||||
SWITCH_DECLARE(void) cJSON_DeleteItemFromArray(cJSON *array,int which);
|
||||
SWITCH_DECLARE(cJSON *)cJSON_DetachItemFromObject(cJSON *object,const char *string);
|
||||
SWITCH_DECLARE(void) cJSON_DeleteItemFromObject(cJSON *object,const char *string);
|
||||
|
||||
|
||||
/* Update array items. */
|
||||
SWITCH_DECLARE(void) cJSON_ReplaceItemInArray(cJSON *array,int which,cJSON *newitem);
|
||||
SWITCH_DECLARE(void) cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,14 +22,14 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Rupa Schomaker <rupa@rupa.com>
|
||||
*
|
||||
* switch_limit.h - Limit generic implementations
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\defgroup limit1 LIMIT code
|
||||
\ingroup core1
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
SWITCH_BEGIN_EXTERN_C
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Initilize the LIMIT Core System
|
||||
\param pool the memory pool to use for long term allocations
|
||||
\note Generally called by the core_init
|
||||
@@ -48,7 +48,7 @@ SWITCH_BEGIN_EXTERN_C
|
||||
SWITCH_DECLARE(void) switch_limit_init(switch_memory_pool_t *pool);
|
||||
|
||||
/*!
|
||||
\brief Increment resource.
|
||||
\brief Increment resource.
|
||||
\param backend to use
|
||||
\param realm
|
||||
\param resource
|
||||
@@ -59,7 +59,7 @@ SWITCH_DECLARE(void) switch_limit_init(switch_memory_pool_t *pool);
|
||||
SWITCH_DECLARE(switch_status_t) switch_limit_incr(const char *backend, switch_core_session_t *session, const char *realm, const char *resource, const int max, const int interval);
|
||||
|
||||
/*!
|
||||
\brief Release resource.
|
||||
\brief Release resource.
|
||||
\param backend to use
|
||||
\param realm
|
||||
\param resource
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -33,7 +33,7 @@
|
||||
\brief Loadable Module Routines
|
||||
|
||||
This module is the gateway between external modules and the core of the application.
|
||||
it contains all the access points to the various pluggable interfaces including the codecs
|
||||
it contains all the access points to the various pluggable interfaces including the codecs
|
||||
and API modules.
|
||||
|
||||
*/
|
||||
@@ -49,7 +49,7 @@ SWITCH_BEGIN_EXTERN_C
|
||||
/*!
|
||||
\defgroup mods Loadable Module Functions
|
||||
\ingroup core1
|
||||
\{
|
||||
\{
|
||||
*/
|
||||
/*! \brief The abstraction of a loadable module */
|
||||
struct switch_loadable_module_interface {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -70,21 +70,21 @@ SWITCH_BEGIN_EXTERN_C
|
||||
typedef switch_status_t (*switch_log_function_t) (const switch_log_node_t *node, switch_log_level_t level);
|
||||
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Initilize the logging engine
|
||||
\param pool the memory pool to use
|
||||
\note to be called at application startup by the core
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_log_init(_In_ switch_memory_pool_t *pool, _In_ switch_bool_t colorize);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Shut down the logging engine
|
||||
\note to be called at application termination by the core
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_log_shutdown(void);
|
||||
|
||||
#ifndef SWIG
|
||||
/*!
|
||||
/*!
|
||||
\brief Write log data to the logging engine
|
||||
\param channel the log channel to write to
|
||||
\param file the current file
|
||||
@@ -101,7 +101,7 @@ SWITCH_DECLARE(void) switch_log_printf(_In_ switch_text_channel_t channel, _In_z
|
||||
_In_z_ const char *func, _In_ int line,
|
||||
_In_opt_z_ const char *userdata, _In_ switch_log_level_t level,
|
||||
_In_z_ _Printf_format_string_ const char *fmt, ...) PRINTF_FUNCTION(7, 8);
|
||||
/*!
|
||||
/*!
|
||||
\brief Write log data to the logging engine
|
||||
\param channel the log channel to write to
|
||||
\param file the current file
|
||||
@@ -119,21 +119,21 @@ SWITCH_DECLARE(void) switch_log_vprintf(_In_ switch_text_channel_t channel, _In_
|
||||
_In_opt_z_ const char *userdata, _In_ switch_log_level_t level, const char *fmt, va_list ap);
|
||||
|
||||
#endif
|
||||
/*!
|
||||
/*!
|
||||
\brief Shut down the logging engine
|
||||
\note to be called at application termination by the core
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_log_bind_logger(_In_ switch_log_function_t function, _In_ switch_log_level_t level, _In_ switch_bool_t is_console);
|
||||
SWITCH_DECLARE(switch_status_t) switch_log_unbind_logger(_In_ switch_log_function_t function);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Return the name of the specified log level
|
||||
\param level the level
|
||||
\return the name of the log level
|
||||
*/
|
||||
_Ret_z_ SWITCH_DECLARE(const char *) switch_log_level2str(_In_ switch_log_level_t level);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Return the level number of the specified log level name
|
||||
\param str the name of the level
|
||||
\return the log level
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
* Luke Dashjr <luke@openmethods.com> (OpenMethods, LLC)
|
||||
*
|
||||
@@ -33,7 +33,7 @@
|
||||
/*! \file switch_module_interfaces.h
|
||||
\brief Module Interface Definitions
|
||||
|
||||
This module holds the definition of data abstractions used to implement various pluggable
|
||||
This module holds the definition of data abstractions used to implement various pluggable
|
||||
interfaces and pluggable event handlers.
|
||||
|
||||
*/
|
||||
@@ -44,7 +44,7 @@
|
||||
#include "switch_resample.h"
|
||||
|
||||
SWITCH_BEGIN_EXTERN_C
|
||||
/*! \brief A table of functions to execute at various states
|
||||
/*! \brief A table of functions to execute at various states
|
||||
*/
|
||||
typedef enum {
|
||||
SWITCH_SHN_ON_INIT,
|
||||
@@ -106,7 +106,7 @@ struct switch_stream_handle {
|
||||
struct switch_io_event_hooks;
|
||||
struct switch_say_file_handle;
|
||||
|
||||
typedef switch_call_cause_t (*switch_io_outgoing_channel_t)
|
||||
typedef switch_call_cause_t (*switch_io_outgoing_channel_t)
|
||||
(switch_core_session_t *, switch_event_t *, switch_caller_profile_t *, switch_core_session_t **, switch_memory_pool_t **, switch_originate_flag_t,
|
||||
switch_call_cause_t *);
|
||||
typedef switch_status_t (*switch_io_read_frame_t) (switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int);
|
||||
@@ -560,7 +560,7 @@ struct switch_chat_interface {
|
||||
const char *interface_name;
|
||||
/*! function to open the directory interface */
|
||||
switch_status_t (*chat_send) (switch_event_t *message_event);
|
||||
|
||||
|
||||
switch_thread_rwlock_t *rwlock;
|
||||
int refs;
|
||||
switch_mutex_t *reflock;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
* Brian K. West <brian@freeswitch.org>
|
||||
*
|
||||
@@ -51,16 +51,16 @@ typedef enum {
|
||||
|
||||
SWITCH_DECLARE(const char *) switch_nat_get_type(void);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Initilize the NAT Traversal System
|
||||
\param pool the memory pool to use for long term allocations
|
||||
\note Generally called by the core_init
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_nat_init(switch_memory_pool_t *pool, switch_bool_t mapping);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Initilize the rest of the NAT Traversal System
|
||||
\note nat_init is called prior to some other modules being loaded.
|
||||
\note nat_init is called prior to some other modules being loaded.
|
||||
This method allows us to init the rest of the NAT system.
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_nat_late_init(void);
|
||||
@@ -95,7 +95,7 @@ SWITCH_DECLARE(void) switch_nat_set_mapping(switch_bool_t mapping);
|
||||
\brief Maps a port through the NAT Traversal System
|
||||
\param port Internal port to map
|
||||
\param proto Protocol
|
||||
\param external_port [out] Mapped external port
|
||||
\param external_port [out] Mapped external port
|
||||
\param sticky make the mapping permanent
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_nat_add_mapping(switch_port_t port, switch_nat_ip_proto_t proto, switch_port_t *external_port,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
* switch_odbc.h -- ODBC
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
* Eliot Gable <egable@gmail.com>
|
||||
*
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
#define DEFAULT_PGSQL_RETRIES 120
|
||||
|
||||
SWITCH_BEGIN_EXTERN_C
|
||||
SWITCH_BEGIN_EXTERN_C
|
||||
|
||||
struct switch_pgsql_handle;
|
||||
struct switch_pgsql_result;
|
||||
@@ -57,7 +57,7 @@ typedef enum {
|
||||
|
||||
/*!
|
||||
\brief Create a new handle for the PGSQL connection.
|
||||
\param dsn The DSN of the database to connect to. See documentation for PQconnectdb() at
|
||||
\param dsn The DSN of the database to connect to. See documentation for PQconnectdb() at
|
||||
http://www.postgresql.org/docs/9.0/static/libpq-connect.html. The DSN *MUST* be
|
||||
prefixed with 'pgsql;' to use the switch_cache_db* functionality. However, the DSN
|
||||
passed to this function directly *MUST NOT* be prefixed with 'pgsql;'.
|
||||
@@ -82,7 +82,7 @@ SWITCH_DECLARE(switch_pgsql_status_t ) switch_pgsql_handle_disconnect(switch_pgs
|
||||
) /* Emacs formatting issue */
|
||||
#endif
|
||||
/*!
|
||||
\brief Connect to the database specified by the DSN passed to the switch_pgsql_handle_new() call which
|
||||
\brief Connect to the database specified by the DSN passed to the switch_pgsql_handle_new() call which
|
||||
initialized this handle.
|
||||
\param The database handle to connect to the database.
|
||||
\return Returns SWITCH_PGSQL_SUCCESS or SWITCH_PGSQL_FAIL.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
* switch_platform.h -- Platform Specific Header
|
||||
@@ -51,10 +51,10 @@ SWITCH_BEGIN_EXTERN_C
|
||||
#define __SWITCH_FUNC__ (const char *)__func__
|
||||
#endif
|
||||
#ifdef _MSC_VER
|
||||
/* disable the following warnings
|
||||
* C4100: The formal parameter is not referenced in the body of the function. The unreferenced parameter is ignored.
|
||||
/* disable the following warnings
|
||||
* C4100: The formal parameter is not referenced in the body of the function. The unreferenced parameter is ignored.
|
||||
* C4200: Non standard extension C zero sized array
|
||||
* C4204: nonstandard extension used : non-constant aggregate initializer
|
||||
* C4204: nonstandard extension used : non-constant aggregate initializer
|
||||
* C4706: assignment within conditional expression
|
||||
* C4819: The file contains a character that cannot be represented in the current code page
|
||||
* C4132: 'object' : const object should be initialized (fires innapropriately for prototyped forward declaration of cost var)
|
||||
@@ -317,7 +317,7 @@ SWITCH_END_EXTERN_C
|
||||
#define NOIME
|
||||
#endif
|
||||
#include <windows.h>
|
||||
/*
|
||||
/*
|
||||
* Add a _very_few_ declarations missing from the restricted set of headers
|
||||
* (If this list becomes extensive, re-enable the required headers above!)
|
||||
* winsock headers were excluded by WIN32_LEAN_AND_MEAN, so include them now
|
||||
|
||||
@@ -2,23 +2,23 @@
|
||||
* Copyright (c) 2009, Sangoma Technologies
|
||||
* Moises Silva <moy@sangoma.com>
|
||||
* All rights reserved.
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
*
|
||||
* * Neither the name of the original author; nor the names of any contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
@@ -36,13 +36,13 @@
|
||||
struct profile_timer;
|
||||
typedef struct profile_timer switch_profile_timer_t;
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief create a new profile timer
|
||||
* \return profile timer structure previously created with new_profile_timer, NULL on error
|
||||
*/
|
||||
SWITCH_DECLARE(switch_profile_timer_t *) switch_new_profile_timer(void);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief provides the percentage of idle system time
|
||||
* \param p profile timer structure previously created with new_profile_timer
|
||||
* \param pointer to store the percentage of idle time
|
||||
@@ -52,7 +52,7 @@ SWITCH_DECLARE(switch_profile_timer_t *) switch_new_profile_timer(void);
|
||||
SWITCH_DECLARE(switch_bool_t) switch_get_system_idle_time(switch_profile_timer_t *p, double *idle_percentage);
|
||||
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Deletes profile timer
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_delete_profile_timer(switch_profile_timer_t **p);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Michael Jerris <mike@jerris.com>
|
||||
*
|
||||
* switch_regex.h -- pcre wrapper and extensions Header
|
||||
@@ -70,7 +70,7 @@ SWITCH_DECLARE(switch_status_t) switch_regex_match(const char *target, const cha
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_regex_match_partial(const char *target, const char *expression, int *partial_match);
|
||||
|
||||
SWITCH_DECLARE(void) switch_capture_regex(switch_regex_t *re, int match_count, const char *field_data,
|
||||
SWITCH_DECLARE(void) switch_capture_regex(switch_regex_t *re, int match_count, const char *field_data,
|
||||
int *ovector, const char *var, switch_cap_callback_t callback, void *user_data);
|
||||
|
||||
SWITCH_DECLARE_NONSTD(void) switch_regex_set_var_callback(const char *var, const char *val, void *user_data);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -34,9 +34,9 @@
|
||||
|
||||
This module implements a generic interface for doing audio resampling it currently uses libresample but can be ported to
|
||||
any resample library with a little effort. I decided against making this interface pluggable because there are not many
|
||||
options in terms of resample libraries so it seemed like a waste but I did opt to frontend the interface in case a better
|
||||
options in terms of resample libraries so it seemed like a waste but I did opt to frontend the interface in case a better
|
||||
way comes along some day. =D
|
||||
|
||||
|
||||
*/
|
||||
#define switch_normalize_volume(x) if (x > 4) x = 4; if (x < -4) x = -4;
|
||||
#define switch_normalize_volume_granular(x) if (x > 13) x = 13; if (x < -13) x = -13;
|
||||
@@ -49,7 +49,7 @@ SWITCH_BEGIN_EXTERN_C
|
||||
/*!
|
||||
\defgroup resamp Audio Resample Functions
|
||||
\ingroup core1
|
||||
\{
|
||||
\{
|
||||
*/
|
||||
/*! \brief An audio resampling handle */
|
||||
typedef struct {
|
||||
|
||||
+38
-38
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -30,10 +30,10 @@
|
||||
* Marcel Barbulescu <marcelbarbulescu@gmail.com>
|
||||
*
|
||||
*/
|
||||
/**
|
||||
/**
|
||||
* @file switch_rtp.h
|
||||
* @brief RTP
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef SWITCH_RTP_H
|
||||
@@ -162,7 +162,7 @@ typedef enum { /* FMT Values for PSFB Payload Types http://www.iana.org/assignme
|
||||
_RTCP_PSFB_TSTR = 5, /* TSTR: Temporal-Spatial Trade-off Request RFC5104 */
|
||||
_RTCP_PSFB_TSTN = 6, /* TSTN: Temporal-Spatial Trade-off Notification RFC5104 */
|
||||
_RTCP_PSFB_VBCM = 7, /* VBCM: Video Back Channel Message RFC5104 */
|
||||
_RTCP_PSFB_PSLEI = 8, /* PSLEI: Payload-Specific Third-Party Loss Early Indication RFC6642*/
|
||||
_RTCP_PSFB_PSLEI = 8, /* PSLEI: Payload-Specific Third-Party Loss Early Indication RFC6642*/
|
||||
_RTCP_PSFB_AFB = 15 /* AFB Application layer FB */
|
||||
} rtcp_psfb_t;
|
||||
|
||||
@@ -180,7 +180,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_add_crypto_key(switch_rtp_t *rtp_sess
|
||||
|
||||
|
||||
SWITCH_DECLARE(void) switch_rtp_get_random(void *buf, uint32_t len);
|
||||
/*!
|
||||
/*!
|
||||
\brief Initilize the RTP System
|
||||
\param pool the memory pool to use for long term allocations
|
||||
\note Generally called by the core_init
|
||||
@@ -205,7 +205,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_set_remote_ssrc(switch_rtp_t *rtp_ses
|
||||
*/
|
||||
SWITCH_DECLARE(switch_port_t) switch_rtp_set_end_port(switch_port_t port);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Request a new port to be used for media
|
||||
\param ip the ip to request a port from
|
||||
\return the new port to use
|
||||
@@ -216,7 +216,7 @@ SWITCH_DECLARE(void) switch_rtp_release_port(const char *ip, switch_port_t port)
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_set_interval(switch_rtp_t *rtp_session, uint32_t ms_per_packet, uint32_t samples_per_interval);
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_change_interval(switch_rtp_t *rtp_session, uint32_t ms_per_packet, uint32_t samples_per_interval);
|
||||
/*!
|
||||
/*!
|
||||
\brief create a new RTP session handle
|
||||
\param new_rtp_session a poiter to aim at the new session
|
||||
\param payload the IANA payload number
|
||||
@@ -260,7 +260,7 @@ SWITCH_DECLARE(switch_rtp_t *) switch_rtp_new(const char *rx_host,
|
||||
switch_rtp_flag_t flags[], char *timer_name, const char **err, switch_memory_pool_t *pool);
|
||||
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Assign a remote address to the RTP session
|
||||
\param rtp_session an RTP session to assign the remote address to
|
||||
\param host the ip or fqhn of the remote address
|
||||
@@ -279,7 +279,7 @@ SWITCH_DECLARE(void) switch_rtp_set_max_missed_packets(switch_rtp_t *rtp_session
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_udptl_mode(switch_rtp_t *rtp_session);
|
||||
SWITCH_DECLARE(void) switch_rtp_reset(switch_rtp_t *rtp_session);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Assign a local address to the RTP session
|
||||
\param rtp_session an RTP session to assign the local address to
|
||||
\param host the ip or fqhn of the local address
|
||||
@@ -290,7 +290,7 @@ SWITCH_DECLARE(void) switch_rtp_reset(switch_rtp_t *rtp_session);
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_set_local_address(switch_rtp_t *rtp_session, const char *host, switch_port_t port, const char **err);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Kill the socket on an existing RTP session
|
||||
\param rtp_session an RTP session to kill the socket of
|
||||
*/
|
||||
@@ -299,14 +299,14 @@ SWITCH_DECLARE(void) switch_rtp_kill_socket(switch_rtp_t *rtp_session);
|
||||
SWITCH_DECLARE(void) switch_rtp_break(switch_rtp_t *rtp_session);
|
||||
SWITCH_DECLARE(void) switch_rtp_flush(switch_rtp_t *rtp_session);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Test if an RTP session is ready
|
||||
\param rtp_session an RTP session to test
|
||||
\return a true value if it's ready
|
||||
*/
|
||||
SWITCH_DECLARE(uint8_t) switch_rtp_ready(switch_rtp_t *rtp_session);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Destroy an RTP session
|
||||
\param rtp_session an RTP session to destroy
|
||||
*/
|
||||
@@ -314,15 +314,15 @@ SWITCH_DECLARE(void) switch_rtp_destroy(switch_rtp_t **rtp_session);
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_sync_stats(switch_rtp_t *rtp_session);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Acvite ICE on an RTP session
|
||||
\return SWITCH_STATUS_SUCCESS
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_activate_ice(switch_rtp_t *rtp_session, char *login, char *rlogin,
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_activate_ice(switch_rtp_t *rtp_session, char *login, char *rlogin,
|
||||
const char *password, const char *rpassword, ice_proto_t proto,
|
||||
switch_core_media_ice_type_t type, ice_t *ice_params);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Activate sending RTCP Sender Reports (SR's)
|
||||
\param send_rate interval in milliseconds to send at
|
||||
\return SWITCH_STATUS_SUCCESS
|
||||
@@ -335,13 +335,13 @@ SWITCH_DECLARE(switch_timer_t *) switch_rtp_get_media_timer(switch_rtp_t *rtp_se
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_set_video_buffer_size(switch_rtp_t *rtp_session, uint32_t frames, uint32_t max_frames);
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_get_video_buffer_size(switch_rtp_t *rtp_session, uint32_t *min_frame_len, uint32_t *max_frame_len, uint32_t *cur_frame_len, uint32_t *highest_frame_len);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Acvite a jitter buffer on an RTP session
|
||||
\param rtp_session the rtp session
|
||||
\param queue_frames the number of frames to delay
|
||||
\return SWITCH_STATUS_SUCCESS
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_activate_jitter_buffer(switch_rtp_t *rtp_session,
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_activate_jitter_buffer(switch_rtp_t *rtp_session,
|
||||
uint32_t queue_frames,
|
||||
uint32_t max_queue_frames,
|
||||
uint32_t samples_per_packet, uint32_t samples_per_second);
|
||||
@@ -379,28 +379,28 @@ SWITCH_DECLARE(uint32_t) switch_rtp_test_flag(switch_rtp_t *rtp_session, switch_
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_rtp_clear_flag(switch_rtp_t *rtp_session, switch_rtp_flag_t flag);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Retrieve the socket from an existing RTP session
|
||||
\param rtp_session the RTP session to retrieve the socket from
|
||||
\return the socket from the RTP session
|
||||
*/
|
||||
SWITCH_DECLARE(switch_socket_t *) switch_rtp_get_rtp_socket(switch_rtp_t *rtp_session);
|
||||
SWITCH_DECLARE(void) switch_rtp_ping(switch_rtp_t *rtp_session);
|
||||
/*!
|
||||
/*!
|
||||
\brief Get the default samples per interval for a given RTP session
|
||||
\param rtp_session the RTP session to get the samples per interval from
|
||||
\return the default samples per interval of the RTP session
|
||||
*/
|
||||
SWITCH_DECLARE(uint32_t) switch_rtp_get_default_samples_per_interval(switch_rtp_t *rtp_session);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Set the default payload number for a given RTP session
|
||||
\param rtp_session the RTP session to set the payload number on
|
||||
\param payload the new default payload number
|
||||
\param payload the new default payload number
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_rtp_set_default_payload(switch_rtp_t *rtp_session, switch_payload_t payload);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Get the default payload number for a given RTP session
|
||||
\param rtp_session the RTP session to get the payload number from
|
||||
\return the default payload of the RTP session
|
||||
@@ -408,15 +408,15 @@ SWITCH_DECLARE(void) switch_rtp_set_default_payload(switch_rtp_t *rtp_session, s
|
||||
SWITCH_DECLARE(uint32_t) switch_rtp_get_default_payload(switch_rtp_t *rtp_session);
|
||||
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Set a callback function to execute when an invalid RTP packet is encountered
|
||||
\param rtp_session the RTP session
|
||||
\param on_invalid the function to set
|
||||
\return
|
||||
\return
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_rtp_set_invalid_handler(switch_rtp_t *rtp_session, switch_rtp_invalid_handler_t on_invalid);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Read data from a given RTP session
|
||||
\param rtp_session the RTP session to read from
|
||||
\param data the data to read
|
||||
@@ -429,7 +429,7 @@ SWITCH_DECLARE(void) switch_rtp_set_invalid_handler(switch_rtp_t *rtp_session, s
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_read(switch_rtp_t *rtp_session, void *data, uint32_t *datalen,
|
||||
switch_payload_t *payload_type, switch_frame_flag_t *flags, switch_io_flag_t io_flags);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Queue RFC2833 DTMF data into an RTP Session
|
||||
\param rtp_session the rtp session to use
|
||||
\param dtmf the dtmf digits to queue
|
||||
@@ -437,7 +437,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_read(switch_rtp_t *rtp_session, void
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_queue_rfc2833(switch_rtp_t *rtp_session, const switch_dtmf_t *dtmf);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Queue RFC2833 DTMF data into an RTP Session
|
||||
\param rtp_session the rtp session to use
|
||||
\param dtmf the dtmf digits to queue
|
||||
@@ -460,7 +460,7 @@ SWITCH_DECLARE(switch_size_t) switch_rtp_has_dtmf(switch_rtp_t *rtp_session);
|
||||
*/
|
||||
SWITCH_DECLARE(switch_size_t) switch_rtp_dequeue_dtmf(switch_rtp_t *rtp_session, switch_dtmf_t *dtmf);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Read data from a given RTP session without copying
|
||||
\param rtp_session the RTP session to read from
|
||||
\param data a pointer to point directly to the RTP read buffer
|
||||
@@ -474,7 +474,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_zerocopy_read(switch_rtp_t *rtp_sessi
|
||||
void **data, uint32_t *datalen, switch_payload_t *payload_type, switch_frame_flag_t *flags,
|
||||
switch_io_flag_t io_flags);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Read data from a given RTP session without copying
|
||||
\param rtp_session the RTP session to read from
|
||||
\param frame a frame to populate with information
|
||||
@@ -484,7 +484,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_zerocopy_read(switch_rtp_t *rtp_sessi
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_zerocopy_read_frame(switch_rtp_t *rtp_session, switch_frame_t *frame, switch_io_flag_t io_flags);
|
||||
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Read RTCP data from a given RTP session without copying
|
||||
\param rtp_session the RTP session to read from
|
||||
\param frame an RTCP frame to populate with information
|
||||
@@ -512,7 +512,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_enable_vad(switch_rtp_t *rtp_session,
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_disable_vad(switch_rtp_t *rtp_session);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Write data to a given RTP session
|
||||
\param rtp_session the RTP session to write to
|
||||
\param frame the frame to write
|
||||
@@ -520,7 +520,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_disable_vad(switch_rtp_t *rtp_session
|
||||
*/
|
||||
SWITCH_DECLARE(int) switch_rtp_write_frame(switch_rtp_t *rtp_session, switch_frame_t *frame);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Write data with a specified payload and sequence number to a given RTP session
|
||||
\param rtp_session the RTP session to write to
|
||||
\param data data to write
|
||||
@@ -536,21 +536,21 @@ SWITCH_DECLARE(int) switch_rtp_write_manual(switch_rtp_t *rtp_session,
|
||||
|
||||
SWITCH_DECLARE(switch_status_t) switch_rtp_write_raw(switch_rtp_t *rtp_session, void *data, switch_size_t *bytes, switch_bool_t process_encryption);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Retrieve the SSRC from a given RTP session
|
||||
\param rtp_session the RTP session to retrieve from
|
||||
\return the SSRC
|
||||
*/
|
||||
SWITCH_DECLARE(uint32_t) switch_rtp_get_ssrc(switch_rtp_t *rtp_session);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Associate an arbitrary data pointer with and RTP session
|
||||
\param rtp_session the RTP session to assign the pointer to
|
||||
\param private_data the private data to assign
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_rtp_set_private(switch_rtp_t *rtp_session, void *private_data);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Set the payload type to consider RFC2833 DTMF
|
||||
\param rtp_session the RTP session to modify
|
||||
\param te the payload type
|
||||
@@ -558,14 +558,14 @@ SWITCH_DECLARE(void) switch_rtp_set_private(switch_rtp_t *rtp_session, void *pri
|
||||
SWITCH_DECLARE(void) switch_rtp_set_telephony_event(switch_rtp_t *rtp_session, switch_payload_t te);
|
||||
SWITCH_DECLARE(void) switch_rtp_set_telephony_recv_event(switch_rtp_t *rtp_session, switch_payload_t te);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Set the payload type for comfort noise
|
||||
\param rtp_session the RTP session to modify
|
||||
\param pt the payload type
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_rtp_set_cng_pt(switch_rtp_t *rtp_session, switch_payload_t pt);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\brief Retrieve the private data from a given RTP session
|
||||
\param rtp_session the RTP session to retrieve the data from
|
||||
\return the pointer to the private data
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -59,7 +59,7 @@ SWITCH_BEGIN_EXTERN_C
|
||||
\param group a group id tag to link multiple tasks to a single entity.
|
||||
\param cmd_id an arbitrary index number be used in the callback.
|
||||
\param cmd_arg user data to be passed to the callback.
|
||||
\param flags flags to alter behaviour
|
||||
\param flags flags to alter behaviour
|
||||
\return the id of the task
|
||||
*/
|
||||
SWITCH_DECLARE(uint32_t) switch_scheduler_add_task(time_t task_runtime,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -80,7 +80,7 @@ typedef enum {
|
||||
SWITCH_STUN_ATTR_SOURCE_ADDRESS2 = 0x0012, /* Address */
|
||||
SWITCH_STUN_ATTR_DATA = 0x0013, /* ByteString */
|
||||
SWITCH_STUN_ATTR_OPTIONS = 0x8001, /* UInt32 */
|
||||
SWITCH_STUN_ATTR_XOR_MAPPED_ADDRESS = 0x0020, /* Address */
|
||||
SWITCH_STUN_ATTR_XOR_MAPPED_ADDRESS = 0x0020, /* Address */
|
||||
|
||||
/* ice crap */
|
||||
|
||||
|
||||
+25
-25
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2015, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
* Bret McDanel <trixter AT 0xdecafbad dot com>
|
||||
* Joseph Sullivan <jossulli@amazon.com>
|
||||
@@ -644,7 +644,7 @@ typedef struct {
|
||||
switch_size_t flush_packet_count;
|
||||
switch_size_t largest_jb_size;
|
||||
/* Jitter */
|
||||
int64_t last_proc_time;
|
||||
int64_t last_proc_time;
|
||||
int64_t jitter_n;
|
||||
int64_t jitter_add;
|
||||
int64_t jitter_addsq;
|
||||
@@ -660,7 +660,7 @@ typedef struct {
|
||||
double mean_interval;
|
||||
int loss[LOST_BURST_CAPTURE];
|
||||
int last_loss;
|
||||
int recved;
|
||||
int recved;
|
||||
int last_processed_seq;
|
||||
switch_size_t flaws;
|
||||
switch_size_t last_flaw;
|
||||
@@ -688,7 +688,7 @@ typedef struct {
|
||||
uint16_t cycle; /* Packet loss calculation, sequence number cycle of the current RTCP report interval */
|
||||
uint32_t bad_seq; /* Bad SEQ found, used to detect reset on the other side */
|
||||
uint16_t base_seq; /* Packet loss calculation, first sequence number received */
|
||||
uint32_t cum_lost; /* Packet loss calculation, cumulative number of packet lost */
|
||||
uint32_t cum_lost; /* Packet loss calculation, cumulative number of packet lost */
|
||||
uint32_t last_recv_lsr_local; /* RTT calculation, When receiving an SR we save our local timestamp in fraction of 65536 seconds */
|
||||
uint32_t last_recv_lsr_peer; /* RTT calculation, When receiving an SR we extract the middle 32bits of the remote NTP timestamp to include it in the next SR LSR */
|
||||
uint32_t init;
|
||||
@@ -725,7 +725,7 @@ typedef enum {
|
||||
SWITCH_RTP_FLAG_DATAWAIT - Do not return from reads unless there is data even when non blocking
|
||||
SWITCH_RTP_FLAG_BUGGY_2833 - Emulate the bug in cisco equipment to allow interop
|
||||
SWITCH_RTP_FLAG_PASS_RFC2833 - Pass 2833 (ignore it)
|
||||
SWITCH_RTP_FLAG_AUTO_CNG - Generate outbound CNG frames when idle
|
||||
SWITCH_RTP_FLAG_AUTO_CNG - Generate outbound CNG frames when idle
|
||||
</pre>
|
||||
*/
|
||||
typedef enum {
|
||||
@@ -804,10 +804,10 @@ typedef enum {
|
||||
final_duration - initial_timestamp = total_samples
|
||||
|
||||
However, if the duration value exceeds the space allocated (16 bits), The sender should increment
|
||||
the timestamp one unit and reset the duration to 0.
|
||||
the timestamp one unit and reset the duration to 0.
|
||||
|
||||
Always sending a duration of 0 with a new timestamp should be tolerated but is rarely intentional
|
||||
and is mistakenly done by many devices.
|
||||
and is mistakenly done by many devices.
|
||||
The issue is that the Sonus expects everyone to do it this way instead of tolerating either way.
|
||||
Sonus will actually ignore every packet with the same timestamp before concluding if it's DTMF.
|
||||
|
||||
@@ -825,19 +825,19 @@ typedef enum {
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
RTP_BUG_SEND_LINEAR_TIMESTAMPS = (1 << 3),
|
||||
|
||||
/*
|
||||
Our friends at Sonus get real mad when the timestamps are not in perfect sequence even during periods of silence.
|
||||
With this flag, we will only increment the timestamp when write packets even if they are eons apart.
|
||||
|
||||
|
||||
*/
|
||||
|
||||
RTP_BUG_START_SEQ_AT_ZERO = (1 << 4),
|
||||
|
||||
/*
|
||||
Our friends at Sonus also get real mad if the sequence number does not start at 0.
|
||||
Our friends at Sonus also get real mad if the sequence number does not start at 0.
|
||||
Typically, we set this to a random starting value for your saftey.
|
||||
This is a security risk you take upon yourself when you enable this flag.
|
||||
*/
|
||||
@@ -849,9 +849,9 @@ typedef enum {
|
||||
Our friends at Sonus are on a roll, They also get easily dumbfounded by marker bits.
|
||||
This flag will never send any. Sheesh....
|
||||
*/
|
||||
|
||||
|
||||
RTP_BUG_IGNORE_DTMF_DURATION = (1 << 6),
|
||||
|
||||
|
||||
/*
|
||||
Guess Who? ... Yep, Sonus (and who know's who else) likes to interweave DTMF with the audio stream making it take
|
||||
2X as long as it should and sending an incorrect duration making the DTMF very delayed.
|
||||
@@ -890,12 +890,12 @@ typedef enum {
|
||||
*/
|
||||
|
||||
RTP_BUG_FLUSH_JB_ON_DTMF = (1 << 10),
|
||||
|
||||
|
||||
/* FLUSH JITTERBUFFER When getting RFC2833 to reduce bleed through */
|
||||
|
||||
RTP_BUG_ACCEPT_ANY_PAYLOAD = (1 << 11),
|
||||
|
||||
/*
|
||||
/*
|
||||
Make FS accept any payload type instead of dropping and returning CNG frame. Workaround while FS only supports a single payload per rtp session.
|
||||
This can be used by endpoint modules to detect payload changes and act appropriately (ex: sofia could send a reINVITE with single codec).
|
||||
This should probably be a flag, but flag enum is already full!
|
||||
@@ -1032,7 +1032,7 @@ typedef uint32_t switch_ivr_option_t;
|
||||
SWITCH_MESSAGE_REDIRECT_AUDIO - Indication to redirect audio to another location if possible
|
||||
SWITCH_MESSAGE_TRANSMIT_TEXT - A text message
|
||||
SWITCH_MESSAGE_INDICATE_ANSWER - indicate answer
|
||||
SWITCH_MESSAGE_INDICATE_PROGRESS - indicate progress
|
||||
SWITCH_MESSAGE_INDICATE_PROGRESS - indicate progress
|
||||
SWITCH_MESSAGE_INDICATE_BRIDGE - indicate a bridge starting
|
||||
SWITCH_MESSAGE_INDICATE_UNBRIDGE - indicate a bridge ending
|
||||
SWITCH_MESSAGE_INDICATE_TRANSFER - indicate a transfer is taking place
|
||||
@@ -1339,7 +1339,7 @@ typedef enum {
|
||||
<pre>
|
||||
CF_ANSWERED - Channel is answered
|
||||
CF_OUTBOUND - Channel is an outbound channel
|
||||
CF_EARLY_MEDIA - Channel is ready for audio before answer
|
||||
CF_EARLY_MEDIA - Channel is ready for audio before answer
|
||||
CF_ORIGINATOR - Channel is an originator
|
||||
CF_TRANSFER - Channel is being transfered
|
||||
CF_ACCEPT_CNG - Channel will accept CNG frames
|
||||
@@ -1679,7 +1679,7 @@ typedef uint32_t switch_codec_flag_t;
|
||||
SWITCH_SPEECH_FLAG_HASTEXT = (1 << 0) - Interface is has text to read.
|
||||
SWITCH_SPEECH_FLAG_PEEK = (1 << 1) - Read data but do not erase it.
|
||||
SWITCH_SPEECH_FLAG_FREE_POOL = (1 << 2) - Free interface's pool on destruction.
|
||||
SWITCH_SPEECH_FLAG_BLOCKING = (1 << 3) - Indicate that a blocking call is desired
|
||||
SWITCH_SPEECH_FLAG_BLOCKING = (1 << 3) - Indicate that a blocking call is desired
|
||||
SWITCH_SPEECH_FLAG_PAUSE = (1 << 4) - Pause toggle for playback
|
||||
</pre>
|
||||
*/
|
||||
@@ -1780,8 +1780,8 @@ SMBF_STEREO - Record in stereo
|
||||
SMBF_ANSWER_REQ - Don't record until the channel is answered
|
||||
SMBF_BRIDGE_REQ - Don't record until the channel is bridged
|
||||
SMBF_THREAD_LOCK - Only let the same thread who created the bug remove it.
|
||||
SMBF_PRUNE -
|
||||
SMBF_NO_PAUSE -
|
||||
SMBF_PRUNE -
|
||||
SMBF_NO_PAUSE -
|
||||
SMBF_STEREO_SWAP - Record in stereo: Write Stream - left channel, Read Stream - right channel
|
||||
</pre>
|
||||
*/
|
||||
@@ -1925,7 +1925,7 @@ typedef uint32_t switch_io_flag_t;
|
||||
SWITCH_EVENT_BACKGROUND_JOB - Background Job
|
||||
SWITCH_EVENT_DETECTED_SPEECH - Detected Speech
|
||||
SWITCH_EVENT_DETECTED_TONE - Detected Tone
|
||||
SWITCH_EVENT_PRIVATE_COMMAND - A private command event
|
||||
SWITCH_EVENT_PRIVATE_COMMAND - A private command event
|
||||
SWITCH_EVENT_HEARTBEAT - Machine is alive
|
||||
SWITCH_EVENT_TRAP - Error Trap
|
||||
SWITCH_EVENT_ADD_SCHEDULE - Something has been scheduled
|
||||
@@ -2325,15 +2325,15 @@ typedef enum {
|
||||
SWITCH_IO_WRITE
|
||||
} switch_io_type_t;
|
||||
|
||||
typedef switch_status_t (*switch_core_codec_control_func_t) (switch_codec_t *codec,
|
||||
switch_codec_control_command_t cmd,
|
||||
typedef switch_status_t (*switch_core_codec_control_func_t) (switch_codec_t *codec,
|
||||
switch_codec_control_command_t cmd,
|
||||
switch_codec_control_type_t ctype,
|
||||
void *cmd_data,
|
||||
switch_codec_control_type_t atype,
|
||||
void *cmd_arg,
|
||||
switch_codec_control_type_t *rtype,
|
||||
void **ret_data);
|
||||
|
||||
|
||||
|
||||
typedef switch_status_t (*switch_core_codec_init_func_t) (switch_codec_t *, switch_codec_flag_t, const switch_codec_settings_t *codec_settings);
|
||||
typedef switch_status_t (*switch_core_codec_fmtp_parse_func_t) (const char *fmtp, switch_codec_fmtp_t *codec_fmtp);
|
||||
@@ -2444,7 +2444,7 @@ typedef switch_status_t (*switch_say_callback_t) (switch_core_session_t *session
|
||||
typedef switch_status_t (*switch_say_string_callback_t) (switch_core_session_t *session,
|
||||
char *tosay,
|
||||
switch_say_args_t *say_args, char **rstr);
|
||||
|
||||
|
||||
struct switch_say_file_handle;
|
||||
typedef struct switch_say_file_handle switch_say_file_handle_t;
|
||||
|
||||
|
||||
+25
-25
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
* Seven Du <dujinfang@gmail.com>
|
||||
*
|
||||
@@ -42,7 +42,7 @@
|
||||
#include <switch.h>
|
||||
#include <math.h>
|
||||
|
||||
SWITCH_BEGIN_EXTERN_C
|
||||
SWITCH_BEGIN_EXTERN_C
|
||||
|
||||
#define SWITCH_URL_UNSAFE "\r\n #%&+:;<=>?@[\\]^`{|}\""
|
||||
|
||||
@@ -72,18 +72,18 @@ static inline uint32_t switch_round_to_step(uint32_t num, uint32_t step)
|
||||
uint32_t x;
|
||||
|
||||
if (!num) return 0;
|
||||
|
||||
|
||||
r = (num % step);
|
||||
x = num - r;
|
||||
|
||||
|
||||
if (r > step / 2) {
|
||||
x += step;
|
||||
}
|
||||
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
/* https://code.google.com/p/stringencoders/wiki/PerformanceAscii
|
||||
/* https://code.google.com/p/stringencoders/wiki/PerformanceAscii
|
||||
http://www.azillionmonkeys.com/qed/asmexample.html
|
||||
*/
|
||||
static inline uint32_t switch_toupper(uint32_t eax)
|
||||
@@ -94,7 +94,7 @@ ebx = (0x7f7f7f7ful & ebx) + 0x1a1a1a1aul;
|
||||
return eax - ebx;
|
||||
}
|
||||
|
||||
/* https://code.google.com/p/stringencoders/wiki/PerformanceAscii
|
||||
/* https://code.google.com/p/stringencoders/wiki/PerformanceAscii
|
||||
http://www.azillionmonkeys.com/qed/asmexample.html
|
||||
*/
|
||||
static inline uint32_t switch_tolower(uint32_t eax)
|
||||
@@ -108,7 +108,7 @@ static inline uint32_t switch_tolower(uint32_t eax)
|
||||
|
||||
#ifdef FS_64BIT
|
||||
|
||||
/* https://code.google.com/p/stringencoders/wiki/PerformanceAscii
|
||||
/* https://code.google.com/p/stringencoders/wiki/PerformanceAscii
|
||||
http://www.azillionmonkeys.com/qed/asmexample.html
|
||||
*/
|
||||
static inline uint64_t switch_toupper64(uint64_t eax)
|
||||
@@ -119,7 +119,7 @@ uint64_t ebx = (0x7f7f7f7f7f7f7f7full & eax) + 0x0505050505050505ull;
|
||||
return eax - ebx;
|
||||
}
|
||||
|
||||
/* https://code.google.com/p/stringencoders/wiki/PerformanceAscii
|
||||
/* https://code.google.com/p/stringencoders/wiki/PerformanceAscii
|
||||
http://www.azillionmonkeys.com/qed/asmexample.html
|
||||
*/
|
||||
static inline uint64_t switch_tolower64(uint64_t eax)
|
||||
@@ -186,7 +186,7 @@ static inline void switch_tolower_max(char *s)
|
||||
|
||||
}
|
||||
|
||||
#else
|
||||
#else
|
||||
|
||||
static inline void switch_toupper_max(char *s)
|
||||
{
|
||||
@@ -213,7 +213,7 @@ static inline void switch_toupper_max(char *s)
|
||||
c++;
|
||||
l--;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
static inline void switch_tolower_max(char *s)
|
||||
@@ -241,7 +241,7 @@ static inline void switch_tolower_max(char *s)
|
||||
c++;
|
||||
l--;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -314,7 +314,7 @@ static inline switch_bool_t switch_is_moh(const char *s)
|
||||
#define zset(_a, _b) if (!zstr(_b)) _a = _b
|
||||
|
||||
|
||||
/* find a character (find) in a string (in) and return a pointer to that point in the string where the character was found
|
||||
/* find a character (find) in a string (in) and return a pointer to that point in the string where the character was found
|
||||
using the array (allowed) as allowed non-matching characters, when (allowed) is NULL, behaviour should be identical to strchr()
|
||||
*/
|
||||
static inline char *switch_strchr_strict(const char *in, char find, const char *allowed)
|
||||
@@ -343,12 +343,12 @@ static inline char *switch_strchr_strict(const char *in, char find, const char *
|
||||
acceptable = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
a++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (!acceptable) return NULL;
|
||||
|
||||
p++;
|
||||
@@ -410,7 +410,7 @@ static inline char *switch_print_bits(const unsigned char *byte, char *buf, swit
|
||||
k++;
|
||||
byte++;
|
||||
}
|
||||
|
||||
|
||||
if (buf[j-1] == ' ') j--;
|
||||
buf[j++] = '\0';
|
||||
return buf;
|
||||
@@ -491,7 +491,7 @@ SWITCH_DECLARE(char *) switch_find_parameter(const char *str, const char *param,
|
||||
/*!
|
||||
\brief Evaluate the truthfullness of a string expression
|
||||
\param expr a string expression
|
||||
\return true or false
|
||||
\return true or false
|
||||
*/
|
||||
static inline int switch_true(const char *expr)
|
||||
{
|
||||
@@ -523,7 +523,7 @@ static inline switch_byte_t switch_true_byte(const char *expr)
|
||||
/*!
|
||||
\brief Evaluate the falsefullness of a string expression
|
||||
\param expr a string expression
|
||||
\return true or false
|
||||
\return true or false
|
||||
*/
|
||||
static inline int switch_false(const char *expr)
|
||||
{
|
||||
@@ -725,7 +725,7 @@ static inline char *switch_sanitize_number(char *number)
|
||||
|
||||
while ((q = strrchr(p, '@')))
|
||||
*q = '\0';
|
||||
|
||||
|
||||
for (i = 0; i < (int) strlen(warp); i++) {
|
||||
while (p && (q = strchr(p, warp[i])))
|
||||
p = q + 1;
|
||||
@@ -1048,7 +1048,7 @@ static inline int32_t switch_calc_bitrate(int w, int h, int quality, double fps)
|
||||
/* KUSH GAUGE*/
|
||||
|
||||
if (!fps) fps = 15;
|
||||
|
||||
|
||||
r = (int32_t)((double)(w * h * fps * (quality ? quality : 1)) * 0.07) / 1000;
|
||||
|
||||
if (!quality) r /= 2;
|
||||
@@ -1065,7 +1065,7 @@ static inline int32_t switch_parse_bandwidth_string(const char *bwv)
|
||||
|
||||
if (!strcasecmp(bwv, "auto")) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if ((bw = (float) atof(bwv))) {
|
||||
if (bw < 0) return 0;
|
||||
@@ -1087,7 +1087,7 @@ static inline int switch_needs_url_encode(const char *s)
|
||||
const char hex[] = "0123456789ABCDEF";
|
||||
const char *p, *e = end_of_p(s);
|
||||
|
||||
|
||||
|
||||
for(p = s; p && *p; p++) {
|
||||
if (*p == '%' && e-p > 1) {
|
||||
if (strchr(hex, *(p+1)) && strchr(hex, *(p+2))) {
|
||||
@@ -1129,7 +1129,7 @@ static inline void switch_separate_file_params(const char *file, char **file_por
|
||||
|
||||
*file_portion = NULL;
|
||||
*params_portion = NULL;
|
||||
|
||||
|
||||
while (*file == '{') {
|
||||
e = switch_find_end_paren(file, '{', '}');
|
||||
file = e + 1;
|
||||
@@ -1144,7 +1144,7 @@ static inline void switch_separate_file_params(const char *file, char **file_por
|
||||
} else {
|
||||
*file_portion = (char *)space;
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
*
|
||||
@@ -101,7 +101,7 @@ struct switch_xml {
|
||||
uint32_t refs;
|
||||
};
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Parses a string into a switch_xml_t, ensuring the memory will be freed with switch_xml_free
|
||||
* \param s The string to parse
|
||||
* \param dup true if you want the string to be strdup()'d automatically
|
||||
@@ -109,8 +109,8 @@ struct switch_xml {
|
||||
*/
|
||||
SWITCH_DECLARE(switch_xml_t) switch_xml_parse_str_dynamic(_In_z_ char *s, _In_ switch_bool_t dup);
|
||||
|
||||
/*!
|
||||
* \brief Parses a string into a switch_xml_t
|
||||
/*!
|
||||
* \brief Parses a string into a switch_xml_t
|
||||
* \param s The string to parse
|
||||
* \return the switch_xml_t or NULL if an error occured
|
||||
*/
|
||||
@@ -200,7 +200,7 @@ SWITCH_DECLARE(const char *) switch_xml_attr_soft(_In_ switch_xml_t xml, _In_z_
|
||||
|
||||
///\brief Traverses the switch_xml structure to retrieve a specific subtag. Takes a
|
||||
///\ variable length list of tag names and indexes. The argument list must be
|
||||
///\ terminated by either an index of -1 or an empty string tag name. Example:
|
||||
///\ terminated by either an index of -1 or an empty string tag name. Example:
|
||||
///\ title = switch_xml_get(library, "shelf", 0, "book", 2, "title", -1);
|
||||
///\ This retrieves the title of the 3rd book on the 1st shelf of library.
|
||||
///\ Returns NULL if not found.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
|
||||
* Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
|
||||
*
|
||||
@@ -22,7 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
*
|
||||
* Mathieu Rene <mathieu.rene@gmail.com>
|
||||
*
|
||||
*
|
||||
@@ -96,7 +96,7 @@ typedef switch_status_t (*switch_xml_config_callback_t) (switch_xml_config_item_
|
||||
switch_bool_t changed);
|
||||
|
||||
/*!
|
||||
* \brief A configuration instruction read by switch_xml_config_parse
|
||||
* \brief A configuration instruction read by switch_xml_config_parse
|
||||
*/
|
||||
struct switch_xml_config_item {
|
||||
const char *key; /*< The key of the element, or NULL to indicate the end of the list */
|
||||
@@ -122,29 +122,29 @@ SWITCH_DECLARE(void) switch_config_perform_set_item(switch_xml_config_item_t *it
|
||||
const void *defaultvalue, void *data, switch_xml_config_callback_t function, const char *syntax,
|
||||
const char *helptext);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Gets the int representation of an enum
|
||||
* \param enum_options the switch_xml_config_enum_item_t array for this enum
|
||||
* \param value string value to search
|
||||
* \param value string value to search
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_xml_config_enum_str2int(switch_xml_config_enum_item_t *enum_options, const char *value, int *out);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Gets the string representation of an enum
|
||||
* \param enum_options the switch_xml_config_enum_item_t array for this enum
|
||||
* \param value int value to search
|
||||
* \param value int value to search
|
||||
*/
|
||||
SWITCH_DECLARE(const char *) switch_xml_config_enum_int2str(switch_xml_config_enum_item_t *enum_options, int value);
|
||||
|
||||
/*!
|
||||
* \brief Prints out an item's documentation on the console
|
||||
* \brief Prints out an item's documentation on the console
|
||||
* \param level loglevel to use
|
||||
* \param item item which the doc should be printed
|
||||
*/
|
||||
SWITCH_DECLARE(void) switch_xml_config_item_print_doc(int level, switch_xml_config_item_t *item);
|
||||
|
||||
/*!
|
||||
* \brief Parses all the xml elements, following a ruleset defined by an array of switch_xml_config_item_t
|
||||
/*!
|
||||
* \brief Parses all the xml elements, following a ruleset defined by an array of switch_xml_config_item_t
|
||||
* \param xml The first element of the list to parse
|
||||
* \param reload true to skip all non-reloadable options
|
||||
* \param instructions instrutions on how to parse the elements
|
||||
@@ -156,12 +156,12 @@ SWITCH_DECLARE(switch_status_t) switch_xml_config_parse(switch_xml_t xml, switch
|
||||
* \brief Parses a module's settings
|
||||
* \param reload true to skip all non-reloadable options
|
||||
* \param file the configuration file to look for
|
||||
* \param instructions the instructions
|
||||
* \param instructions the instructions
|
||||
*/
|
||||
SWITCH_DECLARE(switch_status_t) switch_xml_config_parse_module_settings(const char *file, switch_bool_t reload, switch_xml_config_item_t *instructions);
|
||||
|
||||
/*!
|
||||
* \brief Parses all of an event's elements, following a ruleset defined by an array of switch_xml_config_item_t
|
||||
/*!
|
||||
* \brief Parses all of an event's elements, following a ruleset defined by an array of switch_xml_config_item_t
|
||||
* \param event The event structure containing the key and values to parse
|
||||
* \param reload true to skip all non-reloadable options
|
||||
* \param instructions instrutions on how to parse the elements
|
||||
@@ -171,10 +171,10 @@ SWITCH_DECLARE(switch_status_t) switch_xml_config_parse_event(switch_event_t *ev
|
||||
switch_xml_config_item_t *instructions);
|
||||
|
||||
/*!
|
||||
* \brief Parses a list of xml elements into an event
|
||||
* \brief Parses a list of xml elements into an event
|
||||
* \param xml First element of the xml list to parse
|
||||
* \param keyname Name of the key attribute
|
||||
* \param keyvalue Name of the value attribute
|
||||
* \param keyvalue Name of the value attribute
|
||||
* \param event [out] event (if *event is NOT NULL, the headers will be appended to the existing event)
|
||||
*/
|
||||
SWITCH_DECLARE(switch_size_t) switch_event_import_xml(switch_xml_t xml, const char *keyname, const char *valuename, switch_event_t **event);
|
||||
|
||||
Reference in New Issue
Block a user