Asterisk - The Open Source Telephony Project
18.5.0
|
Go to the source code of this file.
Data Structures | |
struct | ast_peer_list |
struct | ast_user_list |
struct | ooh323_config |
struct | ooh323_peer |
struct | ooh323_pvt |
struct | ooh323_user |
Macros | |
#define | DEFAULT_CONTEXT "default" |
#define | DEFAULT_H323ACCNT "ast_h323" |
#define | DEFAULT_H323ID "Asterisk PBX" |
#define | DEFAULT_LOGFILE "h323_log" |
#define | FAXDETECT_CNG 1 |
#define | FAXDETECT_T38 2 |
#define | FORMAT "%-15.15s %-15.15s %-23.23s %-s\n" |
#define | FORMAT1 "%-15.15s %-15.15s %-15.15s %-s\n" |
#define | FORMAT_STRING_SIZE 512 |
#define | H323_ALREADYGONE (1<<5) |
#define | H323_DISABLEGK (1<<7) |
#define | H323_FASTSTART (1<<3) |
#define | H323_GKROUTED (1<<1) |
#define | H323_NEEDDESTROY (1<<6) |
#define | H323_NEEDSTART (1<<8) |
#define | H323_OUTGOING (1<<4) |
#define | H323_SILENCESUPPRESSION (1<<0) |
#define | H323_TUNNELING (1<<2) |
#define | IPTOS_MINCOST 0x02 |
#define | MAXT30 240 |
#define | T38_DISABLED 0 |
#define | T38_ENABLED 1 |
#define | T38_FAXGW 1 |
#define | T38TOAUDIOTIMEOUT 30 |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
static struct ooh323_peer * | build_peer (const char *name, struct ast_variable *v, int friend_type) |
static struct ooh323_user * | build_user (const char *name, struct ast_variable *v) |
void | close_rtp_connection (ooCallData *call) |
void | close_udptl_connection (ooCallData *call) |
int | configure_local_rtp (struct ooh323_pvt *p, ooCallData *call) |
int | delete_peers () |
int | delete_users () |
static void * | do_monitor (void *data) |
static struct ooh323_pvt * | find_call (ooCallData *call) |
struct ooh323_peer * | find_friend (const char *name, int port) |
struct ooh323_peer * | find_peer (const char *name, int port) |
struct ooh323_user * | find_user (const char *name, const char *ip) |
static int | function_ooh323_read (struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) |
OOH323 Dialplan function - reads ooh323 settings. More... | |
static int | function_ooh323_write (struct ast_channel *chan, const char *cmd, char *data, const char *value) |
OOH323 Dialplan function - writes ooh323 settings. More... | |
char * | handle_cli_ooh323_reload (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_ooh323_set_debug (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_ooh323_show_config (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_ooh323_show_gk (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_ooh323_show_peer (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_ooh323_show_peers (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_ooh323_show_user (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_ooh323_show_users (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static int | load_module (void) |
int | onAlerting (ooCallData *call) |
int | onCallCleared (ooCallData *call) |
int | onCallEstablished (ooCallData *call) |
void | onModeChanged (ooCallData *call, int t38mode) |
int | onNewCallCreated (ooCallData *call) |
int | onOutgoingCall (ooCallData *call) |
int | onProgress (ooCallData *call) |
static struct ooh323_pvt * | ooh323_alloc (int callref, char *callToken) |
static int | ooh323_answer (struct ast_channel *ast) |
static int | ooh323_call (struct ast_channel *ast, const char *dest, int timeout) |
int | ooh323_convert_hangupcause_asteriskToH323 (int cause) |
int | ooh323_convert_hangupcause_h323ToAsterisk (int cause) |
int | ooh323_convertAsteriskCapToH323Cap (struct ast_format *format) |
void | ooh323_delete_peer (struct ooh323_peer *peer) |
int | ooh323_destroy (struct ooh323_pvt *p) |
static int | ooh323_digit_begin (struct ast_channel *ast, char digit) |
static int | ooh323_digit_end (struct ast_channel *ast, char digit, unsigned int duration) |
static int | ooh323_do_reload (void) |
static int | ooh323_fixup (struct ast_channel *oldchan, struct ast_channel *newchan) |
static void | ooh323_get_codec (struct ast_channel *chan, struct ast_format_cap *result) |
static enum ast_rtp_glue_result | ooh323_get_rtp_peer (struct ast_channel *chan, struct ast_rtp_instance **rtp) |
static enum ast_rtp_glue_result | ooh323_get_vrtp_peer (struct ast_channel *chan, struct ast_rtp_instance **rtp) |
static int | ooh323_hangup (struct ast_channel *ast) |
static int | ooh323_indicate (struct ast_channel *ast, int condition, const void *data, size_t datalen) |
static struct ast_channel * | ooh323_new (struct ooh323_pvt *i, int state, const char *host, struct ast_format_cap *cap, const struct ast_assigned_ids *assignedids, const struct ast_channel *requestor) |
int | ooh323_onReceivedDigit (OOH323CallData *call, const char *digit) |
int | ooh323_onReceivedSetup (ooCallData *call, Q931Message *pmsg) |
static int | ooh323_queryoption (struct ast_channel *ast, int option, void *data, int *datalen) |
static struct ast_frame * | ooh323_read (struct ast_channel *ast) |
static struct ast_channel * | ooh323_request (const char *type, struct ast_format_cap *cap, const struct ast_assigned_ids *assignedids, const struct ast_channel *requestor, const char *data, int *cause) |
struct ast_frame * | ooh323_rtp_read (struct ast_channel *ast, struct ooh323_pvt *p) |
void | ooh323_set_read_format (ooCallData *call, struct ast_format *fmt) |
static int | ooh323_set_rtp_peer (struct ast_channel *chan, struct ast_rtp_instance *rtp, struct ast_rtp_instance *vrtp, struct ast_rtp_instance *trtp, const struct ast_format_cap *codecs, int nat_active) |
void | ooh323_set_write_format (ooCallData *call, struct ast_format *fmt, int txframes) |
static int | ooh323_write (struct ast_channel *ast, struct ast_frame *f) |
int | reload_config (int reload) |
static int | reload_module (void) |
int | restart_monitor (void) |
Start the channel monitor thread. More... | |
void | setup_rtp_connection (ooCallData *call, const char *remoteIp, int remotePort) |
void | setup_rtp_remote (ooCallData *call, const char *remoteIp, int remotePort) |
void | setup_udptl_connection (ooCallData *call, const char *remoteIp, int remotePort) |
static int | unload_module (void) |
int | update_our_aliases (ooCallData *call, struct ooh323_pvt *p) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Objective Systems H323 Channel" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "30ef0c93b36035ec78c9cfd712d36d9b" , .support_level = AST_MODULE_SUPPORT_EXTENDED, .load = load_module, .unload = unload_module, .reload = reload_module, .load_pri = AST_MODPRI_CHANNEL_DRIVER, .requires = "udptl", } |
static const struct ast_module_info * | ast_module_info = &__mod_info |
struct ast_sockaddr | bindaddr |
static long | callnumber = 0 |
static struct ast_cli_entry | cli_ooh323 [] |
static const char | config [] = "ooh323.conf" |
static struct ast_jb_conf | default_jbconf |
static int | g729onlyA = 0 |
static char | gAccountcode [80] = DEFAULT_H323ACCNT |
static struct ooAliases * | gAliasList |
static int | gAMAFLAGS |
static int | gANIasDNI = 0 |
static int | gBeMaster = 0 |
static char | gCallerID [AST_MAX_EXTENSION] = "" |
static struct ast_format_cap * | gCap |
static char | gContext [AST_MAX_EXTENSION] = DEFAULT_CONTEXT |
static int | gDirectRTP = 0 |
static int | gDTMFCodec = 101 |
static int | gDTMFMode = H323_DTMF_RFC2833 |
static int | gEarlyDirect = 0 |
static int | gFastStart = 1 |
static int | gFAXdetect = FAXDETECT_CNG |
static char | gGatekeeper [100] |
OOBOOL | gH323Debug = FALSE |
OOH323EndPoint | gH323ep |
static int | gIncomingLimit = 1024 |
static char | gInitError [256] = "" |
static char | gIP [2+8 *4+7] |
static int | gIsGateway = 0 |
static struct ast_jb_conf | global_jbconf |
static char | gLogFile [PATH_MAX] = DEFAULT_LOGFILE |
static int | gMediaWaitForConnect = 0 |
static int | gNat = FALSE |
static int | gOutgoingLimit = 1024 |
static int | gPort = 1720 |
static enum RasGatekeeperMode | gRasGkMode = RasNoGatekeeper |
static char | gRASIP [2+8 *4+7] |
static int | gRTDRCount = 0 |
static int | gRTDRInterval = 0 |
static int | gRTPTimeout = 60 |
static int | gT38Support = T38_FAXGW |
static int | gTOS = 0 |
static int | gTRCLVL = OOTRCLVLERR |
static int | gTunneling = 1 |
static ast_mutex_t | h323_reload_lock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } |
static int | h323_reloading = 0 |
static struct ooh323_pvt * | iflist = NULL |
static ast_mutex_t | iflock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } |
static struct io_context * | io |
static int | manufacturer = 0 |
static pthread_t | monitor_thread = AST_PTHREADT_NULL |
static ast_mutex_t | monlock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } |
struct ast_module * | myself |
static struct ooh323_config | ooconfig |
static struct ast_rtp_glue | ooh323_rtp |
static struct ast_channel_tech | ooh323_tech |
static ast_mutex_t | ooh323c_cn_lock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } |
static struct ast_peer_list | peerl |
static struct ast_sched_context * | sched |
static int | t35countrycode = 0 |
static int | t35extensions = 0 |
static const char | tdesc [] = "Objective Systems H323 Channel Driver" |
static const char | type [] = "OOH323" |
static int | usecnt = 0 |
static ast_mutex_t | usecnt_lock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } |
static struct ast_user_list | userl |
int | v6mode = 0 |
static char | vendor [AST_MAX_EXTENSION] = "" |
static char | version [AST_MAX_EXTENSION] = "" |
#define DEFAULT_CONTEXT "default" |
Definition at line 83 of file chan_ooh323.c.
Referenced by reload_config().
#define DEFAULT_H323ACCNT "ast_h323" |
Definition at line 86 of file chan_ooh323.c.
Referenced by reload_config().
#define DEFAULT_H323ID "Asterisk PBX" |
Definition at line 84 of file chan_ooh323.c.
Referenced by reload_config().
#define DEFAULT_LOGFILE "h323_log" |
Definition at line 85 of file chan_ooh323.c.
Referenced by reload_config().
#define FAXDETECT_CNG 1 |
Definition at line 105 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), function_ooh323_write(), handle_cli_ooh323_show_config(), handle_cli_ooh323_show_peer(), handle_cli_ooh323_show_user(), ooh323_new(), ooh323_rtp_read(), and reload_config().
#define FAXDETECT_T38 2 |
Definition at line 106 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), function_ooh323_write(), handle_cli_ooh323_show_config(), handle_cli_ooh323_show_peer(), handle_cli_ooh323_show_user(), onModeChanged(), and reload_config().
#define FORMAT "%-15.15s %-15.15s %-23.23s %-s\n" |
Referenced by handle_cli_ooh323_show_peers(), hash_ao2_destroy(), and rb_ao2_destroy().
#define FORMAT1 "%-15.15s %-15.15s %-15.15s %-s\n" |
Referenced by handle_cli_ooh323_show_users().
#define FORMAT_STRING_SIZE 512 |
Definition at line 80 of file chan_ooh323.c.
Referenced by handle_cli_ooh323_show_config(), and handle_cli_ooh323_show_gk().
#define H323_ALREADYGONE (1<<5) |
Definition at line 94 of file chan_ooh323.c.
Referenced by onCallCleared(), ooh323_hangup(), and ooh323_indicate().
#define H323_DISABLEGK (1<<7) |
Definition at line 96 of file chan_ooh323.c.
Referenced by ooh323_alloc(), ooh323_call(), and ooh323_onReceivedSetup().
#define H323_FASTSTART (1<<3) |
Definition at line 92 of file chan_ooh323.c.
#define H323_GKROUTED (1<<1) |
Definition at line 90 of file chan_ooh323.c.
#define H323_NEEDDESTROY (1<<6) |
Definition at line 95 of file chan_ooh323.c.
Referenced by do_monitor(), onCallCleared(), ooh323_hangup(), and ooh323_onReceivedSetup().
#define H323_NEEDSTART (1<<8) |
Definition at line 97 of file chan_ooh323.c.
#define H323_OUTGOING (1<<4) |
Definition at line 93 of file chan_ooh323.c.
Referenced by onCallEstablished(), ooh323_call(), ooh323_destroy(), ooh323_new(), ooh323_onReceivedSetup(), ooh323_request(), and ooh323_write().
#define H323_SILENCESUPPRESSION (1<<0) |
Definition at line 89 of file chan_ooh323.c.
#define H323_TUNNELING (1<<2) |
Definition at line 91 of file chan_ooh323.c.
#define IPTOS_MINCOST 0x02 |
Definition at line 77 of file chan_ooh323.c.
Referenced by reload_config().
#define MAXT30 240 |
Definition at line 99 of file chan_ooh323.c.
#define T38_DISABLED 0 |
Definition at line 101 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), change_t38_state(), defer_incoming_sdp_stream(), handle_cli_ooh323_show_config(), handle_cli_ooh323_show_peer(), handle_cli_ooh323_show_user(), handle_request_invite(), handle_response_invite(), interpret_t38_parameters(), negotiate_incoming_sdp_stream(), ooh323_queryoption(), ooh323_rtp_read(), process_sdp(), reload_config(), sip_acf_channel_read(), t38_change_state(), t38_interpret_parameters(), and t38_reinvite_response_cb().
#define T38_ENABLED 1 |
Definition at line 102 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), chan_pjsip_queryoption(), change_t38_state(), check_rtp_timeout(), close_udptl_connection(), create_outgoing_sdp_stream(), handle_request_invite(), interpret_t38_parameters(), onModeChanged(), ooh323_indicate(), proc_session_timer(), process_sdp(), reload_config(), setup_udptl_connection(), sip_get_rtp_peer(), sip_queryoption(), sip_write(), t38_change_state(), t38_interpret_parameters(), t38_reinvite_response_cb(), and transmit_response_with_sdp().
#define T38_FAXGW 1 |
Definition at line 103 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), handle_cli_ooh323_show_peer(), handle_cli_ooh323_show_user(), and reload_config().
#define T38TOAUDIOTIMEOUT 30 |
Definition at line 100 of file chan_ooh323.c.
|
static |
Definition at line 5250 of file chan_ooh323.c.
|
static |
Definition at line 5250 of file chan_ooh323.c.
struct ast_module* AST_MODULE_SELF_SYM | ( | void | ) |
Definition at line 5250 of file chan_ooh323.c.
|
static |
Definition at line 2515 of file chan_ooh323.c.
References ooh323_peer::accountcode, ooh323_peer::amaflags, ast_calloc, ast_channel_string2amaflag(), ast_copy_string(), ast_false(), ast_format_cap_alloc, ast_format_cap_append_from_cap(), ast_format_cap_update_by_allow_disallow(), ast_free, ast_log, AST_MEDIA_TYPE_UNKNOWN, ast_mutex_init, ast_parse_arg(), ast_sockaddr_stringify_host(), ast_strdup, ast_strdupa, ast_true(), ast_verb, buf, ooh323_peer::cap, ooh323_peer::directrtp, ooh323_peer::dtmfcodec, ooh323_peer::dtmfmode, ooh323_peer::e164, ooh323_peer::earlydirect, ooh323_peer::email, ooh323_peer::faststart, ooh323_peer::faxdetect, FAXDETECT_CNG, FAXDETECT_T38, ooh323_pvt::g729onlyA, ooh323_peer::g729onlyA, gAccountcode, gAMAFLAGS, gDirectRTP, gDTMFCodec, gDTMFMode, gEarlyDirect, gFastStart, gFAXdetect, gH323Debug, gNat, gRTPTimeout, gT38Support, gTunneling, ooh323_peer::h245tunneling, H323_DTMF_CISCO, H323_DTMF_H245ALPHANUMERIC, H323_DTMF_H245SIGNAL, H323_DTMF_INBAND, H323_DTMF_INBANDRELAX, H323_DTMF_Q931, H323_DTMF_RFC2833, ooh323_peer::h323id, ooh323_peer::ip, ast_variable::lineno, ooh323_peer::lock, LOG_ERROR, LOG_WARNING, ooh323_peer::mFriend, ast_variable::name, ooh323_peer::name, ooh323_peer::nat, ast_variable::next, ooh323_pvt::next, NULL, ooh323_delete_peer(), ooh323_peer::outgoinglimit, PARSE_ADDR, ooh323_pvt::peer, ooh323_peer::port, ooh323_peer::rtdrcount, ooh323_peer::rtdrinterval, ooh323_peer::rtpmask, ooh323_peer::rtpmaskstr, ooh323_peer::rtptimeout, strsep(), T38_DISABLED, T38_ENABLED, T38_FAXGW, ooh323_peer::t38support, tmp(), ooh323_peer::url, and ast_variable::value.
Referenced by reload_config().
|
static |
Definition at line 2368 of file chan_ooh323.c.
References ooh323_user::accountcode, ooh323_user::amaflags, ooh323_user::aniasdni, ast_calloc, ast_channel_string2amaflag(), ast_copy_string(), ast_false(), ast_format_cap_alloc, ast_format_cap_append_from_cap(), ast_format_cap_update_by_allow_disallow(), ast_free, ast_log, AST_MEDIA_TYPE_UNKNOWN, ast_mutex_init, ast_parse_arg(), ast_sockaddr_stringify_addr(), ast_strdupa, ast_true(), ast_verb, buf, ooh323_user::cap, ooh323_user::context, ooh323_user::directrtp, ooh323_user::dtmfcodec, ooh323_user::dtmfmode, ooh323_user::earlydirect, ooh323_user::faststart, ooh323_user::faxdetect, FAXDETECT_CNG, FAXDETECT_T38, ooh323_pvt::g729onlyA, ooh323_user::g729onlyA, gAccountcode, gAMAFLAGS, gContext, gDirectRTP, gDTMFCodec, gDTMFMode, gEarlyDirect, gFastStart, gFAXdetect, gH323Debug, gNat, gRTPTimeout, gT38Support, gTunneling, ooh323_user::h245tunneling, H323_DTMF_CISCO, H323_DTMF_H245ALPHANUMERIC, H323_DTMF_H245SIGNAL, H323_DTMF_INBAND, H323_DTMF_INBANDRELAX, H323_DTMF_Q931, H323_DTMF_RFC2833, ooh323_user::incominglimit, ast_variable::lineno, ooh323_user::lock, LOG_WARNING, ooh323_user::mIP, ooh323_user::mUseIP, ast_variable::name, ooh323_user::name, ooh323_user::nat, ast_variable::next, ooh323_pvt::next, NULL, PARSE_ADDR, ooh323_user::rtdrcount, ooh323_user::rtdrinterval, ooh323_user::rtpmask, ooh323_user::rtpmaskstr, ooh323_user::rtptimeout, strsep(), T38_DISABLED, T38_ENABLED, T38_FAXGW, ooh323_user::t38support, ooh323_pvt::user, and ast_variable::value.
Referenced by reload_config().
void close_rtp_connection | ( | ooCallData * | call | ) |
Definition at line 4810 of file chan_ooh323.c.
References ast_log, ast_mutex_lock, ast_mutex_unlock, ast_rtp_instance_stop(), ast_verb, find_call(), gH323Debug, ooh323_pvt::lock, LOG_ERROR, NULL, and ooh323_pvt::rtp.
Referenced by ooh323c_stop_transmit_channel().
void close_udptl_connection | ( | ooCallData * | call | ) |
Definition at line 4901 of file chan_ooh323.c.
References ast_channel_trylock, ast_channel_unlock, AST_CONTROL_T38_PARAMETERS, ast_debug, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_queue_control_data(), AST_T38_TERMINATED, ast_verb, DEADLOCK_AVOIDANCE, find_call(), gH323Debug, ooh323_pvt::lock, LOG_ERROR, NULL, ooh323_pvt::owner, ast_control_t38_parameters::request_response, T38_ENABLED, ooh323_pvt::t38_tx_enable, and ooh323_pvt::t38support.
Referenced by ooh323c_stop_transmit_datachannel().
int configure_local_rtp | ( | struct ooh323_pvt * | p, |
ooCallData * | call | ||
) |
Definition at line 4599 of file chan_ooh323.c.
References ao2_ref, ast_channel_set_fd(), ast_channel_trylock, ast_channel_unlock, ast_copy_string(), ast_debug, ast_format_cap_count(), ast_format_cap_get_format(), ast_format_cap_get_framing(), ast_log, ast_mutex_unlock, ast_parse_arg(), ast_rtp_codecs_payloads_set_rtpmap_type(), ast_rtp_codecs_set_framing(), ast_rtp_instance_fd(), ast_rtp_instance_get_codecs(), ast_rtp_instance_get_local_address(), ast_rtp_instance_new(), ast_rtp_instance_set_prop(), ast_rtp_instance_set_qos(), ast_rtp_instance_set_timeout(), AST_RTP_PROPERTY_DTMF, AST_RTP_PROPERTY_NAT, AST_RTP_PROPERTY_RTCP, ast_sockaddr_copy(), ast_sockaddr_port, ast_sockaddr_stringify_addr(), ast_udptl_fd(), ast_udptl_get_us(), ast_udptl_new_with_bindaddr(), ast_udptl_set_far_max_datagram(), ast_verb, bindaddr, ooh323_pvt::cap, DEADLOCK_AVOIDANCE, ooh323_pvt::dtmfcodec, ooh323_pvt::dtmfmode, errno, format, gH323Debug, gTOS, H323_DTMF_CISCO, H323_DTMF_RFC2833, ooh323_pvt::lock, LOG_ERROR, LOG_WARNING, ooh323_pvt::nat, NULL, ooh323_convertAsteriskCapToH323Cap(), ooh323_pvt::owner, PARSE_ADDR, ooh323_pvt::rtdrcount, ooh323_pvt::rtdrinterval, ooh323_pvt::rtp, ooh323_pvt::rtptimeout, and ooh323_pvt::udptl.
Referenced by onNewCallCreated(), onOutgoingCall(), and ooh323_onReceivedSetup().
int delete_peers | ( | void | ) |
Definition at line 4230 of file chan_ooh323.c.
References ast_free, ast_mutex_destroy, ast_mutex_lock, ast_mutex_unlock, ast_peer_list::lock, ooh323_peer::next, NULL, peerl, and ast_peer_list::peers.
Referenced by reload_config(), and unload_module().
int delete_users | ( | void | ) |
Definition at line 4265 of file chan_ooh323.c.
References ao2_cleanup, ast_free, ast_mutex_destroy, ast_mutex_lock, ast_mutex_unlock, ast_user_list::lock, ooh323_user::next, NULL, userl, and ast_user_list::users.
Referenced by reload_config(), and unload_module().
|
static |
Definition at line 3998 of file chan_ooh323.c.
References ast_channel_name(), ast_channel_trylock, ast_channel_unlock, ast_io_wait(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_rtp_instance_sendcng(), ast_sched_runq(), ast_sched_wait(), ast_sockaddr_isnull(), AST_SOFTHANGUP_DEV, ast_softhangup_nolock(), ast_test_flag, ast_verb, gGatekeeper, gH323ep, gRasGkMode, gRASIP, H323_NEEDDESTROY, h323_reload_lock, h323_reloading, iflist, iflock, ooh323_pvt::lastrtprx, ooh323_pvt::lastrtptx, LOG_NOTICE, monlock, ooh323_pvt::next, NULL, ooh323_destroy(), ooh323_do_reload(), ooh323_pvt::owner, ooh323_pvt::redirip, ooh323_pvt::rtp, and ooh323_pvt::rtptimeout.
Referenced by restart_monitor().
|
static |
Definition at line 810 of file chan_ooh323.c.
References ast_mutex_lock, ast_mutex_unlock, ast_verb, ooh323_pvt::callToken, gH323Debug, iflist, iflock, and ooh323_pvt::next.
Referenced by close_rtp_connection(), close_udptl_connection(), onAlerting(), onCallCleared(), onCallEstablished(), onModeChanged(), onNewCallCreated(), onOutgoingCall(), onProgress(), ooh323_onReceivedDigit(), ooh323_set_read_format(), ooh323_set_write_format(), setup_rtp_connection(), setup_rtp_remote(), and setup_udptl_connection().
struct ooh323_peer * find_friend | ( | const char * | name, |
int | port | ||
) |
Definition at line 858 of file chan_ooh323.c.
References ast_mutex_lock, ast_mutex_unlock, ast_verb, gH323Debug, ooh323_peer::ip, ast_peer_list::lock, ooh323_peer::next, ooh323_pvt::peer, peerl, ast_peer_list::peers, and ooh323_peer::port.
struct ooh323_peer* find_peer | ( | const char * | name, |
int | port | ||
) |
Definition at line 890 of file chan_ooh323.c.
References ast_mutex_lock, ast_mutex_unlock, ast_verb, ooh323_peer::e164, gH323Debug, ooh323_peer::h323id, ooh323_peer::ip, ast_peer_list::lock, ooh323_peer::name, ooh323_peer::next, ooh323_pvt::peer, peerl, and ast_peer_list::peers.
Referenced by ooh323_request().
struct ooh323_user* find_user | ( | const char * | name, |
const char * | ip | ||
) |
Definition at line 832 of file chan_ooh323.c.
References ast_mutex_lock, ast_mutex_unlock, ast_verb, gH323Debug, ast_user_list::lock, ooh323_user::mIP, ooh323_user::mUseIP, ooh323_user::name, ooh323_user::next, ooh323_pvt::user, userl, and ast_user_list::users.
Referenced by ooh323_destroy(), and ooh323_onReceivedSetup().
|
static |
OOH323 Dialplan function - reads ooh323 settings.
Definition at line 3685 of file chan_ooh323.c.
References ast_channel_lock, ast_channel_tech(), ast_channel_tech_pvt(), ast_channel_unlock, ast_copy_string(), ast_log, ast_mutex_lock, ast_mutex_unlock, ooh323_pvt::callee_dialedDigits, ooh323_pvt::callee_email, ooh323_pvt::callee_h323id, ooh323_pvt::callee_url, ooh323_pvt::caller_dialedDigits, ooh323_pvt::caller_email, ooh323_pvt::caller_h323id, ooh323_pvt::caller_url, ooh323_pvt::faxdetect, ooh323_pvt::lock, LOG_ERROR, ooh323_pvt::t38support, and type.
|
static |
OOH323 Dialplan function - writes ooh323 settings.
Definition at line 3730 of file chan_ooh323.c.
References ast_channel_lock, ast_channel_tech(), ast_channel_tech_pvt(), ast_channel_unlock, ast_false(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_strdupa, ast_true(), buf, ooh323_pvt::faxdetect, FAXDETECT_CNG, FAXDETECT_T38, ooh323_pvt::lock, LOG_ERROR, LOG_WARNING, ooh323_pvt::next, strsep(), ooh323_pvt::t38support, and type.
char* handle_cli_ooh323_reload | ( | struct ast_cli_entry * | e, |
int | cmd, | ||
struct ast_cli_args * | a | ||
) |
Definition at line 2778 of file chan_ooh323.c.
References ast_cli_args::argc, ast_mutex_lock, ast_mutex_unlock, ast_verb, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, ast_cli_entry::command, gH323Debug, h323_reload_lock, h323_reloading, NULL, restart_monitor(), and ast_cli_entry::usage.
|
static |
Definition at line 3466 of file chan_ooh323.c.
References ast_cli_args::argc, ast_cli_args::argv, ast_cli(), CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, FALSE, ast_cli_args::fd, gH323Debug, NULL, RESULT_SUCCESS, TRUE, and ast_cli_entry::usage.
|
static |
Definition at line 3558 of file chan_ooh323.c.
References ast_cli_args::argc, ast_channel_amaflags2string(), ast_cli(), ast_format_cap_get_names(), AST_FORMAT_CAP_NAMES_LEN, ast_str_alloca, callnumber, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, FAXDETECT_CNG, FAXDETECT_T38, ast_cli_args::fd, FORMAT_STRING_SIZE, gAccountcode, gAliasList, gAMAFLAGS, gCallerID, gContext, gDirectRTP, gDTMFCodec, gDTMFMode, gEarlyDirect, gFastStart, gFAXdetect, gGatekeeper, gH323ep, gIP, gLogFile, gMediaWaitForConnect, gPort, gRasGkMode, gRTDRCount, gRTDRInterval, gT38Support, gTunneling, H323_DTMF_CISCO, H323_DTMF_H245ALPHANUMERIC, H323_DTMF_H245SIGNAL, H323_DTMF_INBAND, H323_DTMF_INBANDRELAX, H323_DTMF_Q931, H323_DTMF_RFC2833, ooh323_config::mTCPPortEnd, ooh323_config::mTCPPortStart, NULL, ooconfig, T38_DISABLED, T38_FAXGW, ast_cli_entry::usage, and value.
|
static |
Definition at line 3497 of file chan_ooh323.c.
References ast_cli_args::argc, ast_cli(), CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, ast_cli_args::fd, FORMAT_STRING_SIZE, gGatekeeper, gH323ep, gRasGkMode, NULL, ast_cli_entry::usage, and value.
|
static |
Definition at line 3188 of file chan_ooh323.c.
References ast_cli_args::argc, ast_cli_args::argv, ast_channel_amaflags2string(), ast_cli(), ast_mutex_lock, ast_mutex_unlock, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, FAXDETECT_CNG, FAXDETECT_T38, ast_cli_args::fd, H323_DTMF_CISCO, H323_DTMF_H245ALPHANUMERIC, H323_DTMF_H245SIGNAL, H323_DTMF_INBAND, H323_DTMF_INBANDRELAX, H323_DTMF_Q931, H323_DTMF_RFC2833, ooh323_peer::lock, ast_peer_list::lock, NULL, ooh323_pvt::peer, peerl, ast_peer_list::peers, T38_DISABLED, T38_FAXGW, and ast_cli_entry::usage.
|
static |
Definition at line 3285 of file chan_ooh323.c.
References ast_cli_args::argc, ast_cli(), ast_format_cap_get_names(), AST_FORMAT_CAP_NAMES_LEN, ast_mutex_lock, ast_mutex_unlock, ast_str_alloca, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, ast_cli_args::fd, FORMAT, ooh323_peer::lock, ast_peer_list::lock, NULL, ooh323_pvt::peer, peerl, ast_peer_list::peers, and ast_cli_entry::usage.
|
static |
Definition at line 3327 of file chan_ooh323.c.
References ast_cli_args::argc, ast_cli_args::argv, ast_channel_amaflags2string(), ast_cli(), ast_mutex_lock, ast_mutex_unlock, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, FAXDETECT_CNG, FAXDETECT_T38, ast_cli_args::fd, H323_DTMF_CISCO, H323_DTMF_H245ALPHANUMERIC, H323_DTMF_H245SIGNAL, H323_DTMF_INBAND, H323_DTMF_INBANDRELAX, H323_DTMF_Q931, H323_DTMF_RFC2833, ooh323_user::lock, ast_user_list::lock, NULL, T38_DISABLED, T38_FAXGW, ast_cli_entry::usage, ooh323_pvt::user, userl, and ast_user_list::users.
|
static |
Definition at line 3424 of file chan_ooh323.c.
References ast_cli_args::argc, ast_cli(), ast_format_cap_get_names(), AST_FORMAT_CAP_NAMES_LEN, ast_mutex_lock, ast_mutex_unlock, ast_str_alloca, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, ast_cli_entry::command, ast_cli_args::fd, FORMAT1, ooh323_user::lock, ast_user_list::lock, NULL, RESULT_SUCCESS, ast_cli_entry::usage, ooh323_pvt::user, userl, and ast_user_list::users.
|
static |
Definition at line 3787 of file chan_ooh323.c.
References ao2_ref, ast_channel_register(), ast_cli_register_multiple, ast_debug, ast_format_cap_alloc, ast_format_cap_append, ast_format_cap_append_by_type(), AST_FORMAT_CAP_FLAG_DEFAULT, ast_format_ulaw, ast_log, AST_MEDIA_TYPE_UNKNOWN, AST_MODULE_LOAD_DECLINE, ast_mutex_init, ast_mutex_lock, ast_mutex_unlock, ast_register_atexit(), ast_rtp_glue_register, ast_sched_context_create(), ast_channel_tech::capabilities, ooh323_peer::e164, ooh323_peer::email, gAliasList, gBeMaster, gCallerID, gDTMFCodec, gDTMFMode, gFastStart, gGatekeeper, gInitError, gIP, gIsGateway, gLogFile, gMediaWaitForConnect, gPort, gRasGkMode, gRASIP, gTRCLVL, gTunneling, ooh323_peer::h323id, io_context_create(), ast_user_list::lock, ast_peer_list::lock, LOG_ERROR, LOG_WARNING, manufacturer, ooh323_config::mTCPPortEnd, ooh323_config::mTCPPortStart, ooh323_peer::next, NULL, onAlerting(), onCallCleared(), onCallEstablished(), onModeChanged(), onNewCallCreated(), onOutgoingCall(), onProgress(), ooconfig, ooh323_onReceivedDigit(), ooh323_onReceivedSetup(), ooh323c_set_capability(), ooh323c_start_stack_thread(), ooh323_pvt::peer, peerl, ast_peer_list::peers, reload_config(), restart_monitor(), ast_module_info::self, setup_rtp_remote(), t35countrycode, t35extensions, type, ooh323_peer::url, userl, ast_user_list::users, v6mode, vendor, and version.
Referenced by ooh323_convert_hangupcause_h323ToAsterisk().
int onAlerting | ( | ooCallData * | call | ) |
Definition at line 1682 of file chan_ooh323.c.
References ast_channel_queue_connected_line_update(), ast_channel_trylock, ast_channel_unlock, AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER, AST_CONTROL_RINGING, ast_debug, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_party_connected_line_init(), ast_queue_control(), ast_setstate(), AST_STATE_RINGING, AST_STATE_UP, ast_verb, c, DEADLOCK_AVOIDANCE, find_call(), gH323Debug, ast_party_connected_line::id, ast_set_party_connected_line::id, ooh323_pvt::lock, LOG_ERROR, ast_party_id::name, ast_set_party_id::name, NULL, ooh323_pvt::owner, ast_party_connected_line::source, ast_party_name::str, and ast_party_name::valid.
Referenced by load_module().
int onCallCleared | ( | ooCallData * | call | ) |
Definition at line 2236 of file chan_ooh323.c.
References ast_channel_hangupcause_set(), ast_channel_softhangup_internal_flag_add(), ast_channel_tech_pvt_set(), ast_channel_trylock, ast_channel_unlock, ast_cond_signal, ast_debug, ast_module_unref, ast_mutex_lock, ast_mutex_unlock, ast_queue_hangup_with_cause(), ast_set_flag, AST_SOFTHANGUP_DEV, ast_test_flag, ast_verb, DEADLOCK_AVOIDANCE, find_call(), gH323Debug, H323_ALREADYGONE, H323_NEEDDESTROY, ooh323_pvt::lock, NULL, ooh323c_stop_call_thread(), ooh323_pvt::owner, ooh323_pvt::rtp, ooh323_pvt::rtpcond, usecnt, and usecnt_lock.
Referenced by load_module().
int onCallEstablished | ( | ooCallData * | call | ) |
Definition at line 2181 of file chan_ooh323.c.
References ast_channel_publish_snapshot(), ast_channel_queue_connected_line_update(), ast_channel_trylock, ast_channel_unlock, AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER, AST_CONTROL_ANSWER, ast_debug, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_party_connected_line_init(), ast_queue_control(), ast_test_flag, ast_verb, c, DEADLOCK_AVOIDANCE, find_call(), gH323Debug, H323_OUTGOING, ast_party_connected_line::id, ast_set_party_connected_line::id, ooh323_pvt::lock, LOG_ERROR, ast_party_id::name, ast_set_party_id::name, NULL, ooh323_pvt::owner, ast_party_connected_line::source, ast_party_name::str, and ast_party_name::valid.
Referenced by load_module().
void onModeChanged | ( | ooCallData * | call, |
int | t38mode | ||
) |
Definition at line 5076 of file chan_ooh323.c.
References ast_async_goto(), ast_channel_caller(), ast_channel_context(), ast_channel_exten(), ast_channel_macrocontext(), ast_channel_name(), ast_channel_trylock, ast_channel_unlock, AST_CONTROL_T38_PARAMETERS, ast_debug, ast_exists_extension(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_queue_control_data(), AST_T38_RATE_14400, AST_T38_REQUEST_NEGOTIATE, AST_T38_REQUEST_TERMINATE, ast_udptl_get_far_max_ifp(), ast_udptl_set_far_max_datagram(), ast_verb, ooh323_pvt::chmodepend, DEADLOCK_AVOIDANCE, ooh323_pvt::faxdetect, FAXDETECT_T38, ooh323_pvt::faxdetected, ooh323_pvt::faxmode, find_call(), gH323Debug, ast_party_caller::id, ooh323_pvt::lock, LOG_ERROR, LOG_NOTICE, ast_control_t38_parameters::max_ifp, NULL, ast_party_id::number, ooh323_pvt::owner, pbx_builtin_setvar_helper(), ast_control_t38_parameters::rate, ast_control_t38_parameters::request_response, S_COR, S_OR, ast_party_number::str, T38_ENABLED, ooh323_pvt::t38_init, ooh323_pvt::t38support, ooh323_pvt::udptl, ast_party_number::valid, and ast_control_t38_parameters::version.
Referenced by load_module().
int onNewCallCreated | ( | ooCallData * | call | ) |
Definition at line 2089 of file chan_ooh323.c.
References ast_cond_signal, ast_format_cap_get_names(), AST_FORMAT_CAP_NAMES_LEN, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_str_alloca, ast_strlen_zero, ast_verb, ooh323_pvt::caller_dialedDigits, ooh323_pvt::caller_h323id, ooh323_pvt::callerid_name, ooh323_pvt::callerid_num, ooh323_pvt::cap, configure_local_rtp(), ooh323_pvt::dtmfcodec, ooh323_pvt::dtmfmode, ooh323_pvt::exten, find_call(), ooh323_pvt::g729onlyA, gH323Debug, ooh323_pvt::lock, LOG_ERROR, NULL, ooh323c_set_capability_for_call(), ooh323c_start_call_thread(), ooh323_pvt::rtpcond, ooh323_pvt::t38support, and ooh323_pvt::username.
Referenced by load_module().
int onOutgoingCall | ( | ooCallData * | call | ) |
Definition at line 2016 of file chan_ooh323.c.
References ast_copy_string(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_strlen_zero, ast_verb, ooh323_pvt::caller_dialedDigits, ooh323_pvt::caller_h323id, ooh323_pvt::callerid_name, ooh323_pvt::callerid_num, configure_local_rtp(), find_call(), gH323Debug, ooh323_pvt::lock, LOG_ERROR, NULL, ooh323_pvt::rtp, ooh323_pvt::rtpmask, and ooh323_pvt::rtpmaskstr.
Referenced by load_module().
int onProgress | ( | ooCallData * | call | ) |
Definition at line 1738 of file chan_ooh323.c.
References ast_channel_queue_connected_line_update(), ast_channel_trylock, ast_channel_unlock, AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER, AST_CONTROL_PROGRESS, ast_debug, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_party_connected_line_init(), ast_queue_control(), ast_setstate(), AST_STATE_RINGING, AST_STATE_UP, ast_verb, c, DEADLOCK_AVOIDANCE, find_call(), gH323Debug, ast_party_connected_line::id, ast_set_party_connected_line::id, ooh323_pvt::lock, LOG_ERROR, ast_party_id::name, ast_set_party_id::name, NULL, ooh323_pvt::owner, ast_party_connected_line::source, ast_party_name::str, and ast_party_name::valid.
Referenced by load_module().
|
static |
Definition at line 556 of file chan_ooh323.c.
References ooh323_pvt::accountcode, ooh323_pvt::amaflags, ooh323_pvt::aniasdni, ast_calloc, ast_copy_string(), ast_format_cap_alloc, ast_format_cap_append_from_cap(), AST_FORMAT_CAP_FLAG_DEFAULT, ast_free, ast_log, AST_MEDIA_TYPE_UNKNOWN, ast_mutex_init, ast_mutex_lock, ast_mutex_unlock, ast_strdup, ast_verb, ooh323_pvt::call_reference, ooh323_pvt::callToken, ooh323_pvt::cap, ooh323_pvt::chmodepend, ooh323_pvt::context, ooh323_pvt::dtmfcodec, ooh323_pvt::dtmfmode, ooh323_pvt::faxdetect, ooh323_pvt::faxdetected, ooh323_pvt::faxmode, ooh323_pvt::flags, ooh323_pvt::g729onlyA, gAccountcode, gAMAFLAGS, gANIasDNI, gContext, gDTMFCodec, gDTMFMode, gFAXdetect, gH323Debug, gNat, gRasGkMode, gRTDRCount, gRTDRInterval, gRTPTimeout, gT38Support, H323_DISABLEGK, iflist, iflock, ooh323_pvt::lock, LOG_ERROR, ooh323_pvt::nat, ooh323_pvt::next, NULL, ooh323_pvt::rtdrcount, ooh323_pvt::rtdrinterval, ooh323_pvt::rtptimeout, and ooh323_pvt::t38support.
Referenced by ooh323_onReceivedSetup(), and ooh323_request().
|
static |
Definition at line 1154 of file chan_ooh323.c.
References ooh323_pvt::alertsent, ast_channel_lock, ast_channel_name(), ast_channel_tech_pvt(), ast_channel_unlock, ast_debug, ast_free, ast_mutex_lock, ast_mutex_unlock, ast_setstate(), AST_STATE_UP, ast_strdup, ast_verb, ooh323_pvt::callToken, gH323Debug, ooh323_pvt::lock, and NULL.
|
static |
Definition at line 990 of file chan_ooh323.c.
References ast_channel_connected(), ast_channel_name(), ast_channel_tech_pvt(), ast_channel_transfercapability(), ast_copy_string(), ast_free, ast_log, AST_MAX_EXTENSION, ast_mutex_lock, ast_mutex_unlock, ast_set_flag, AST_STATE_DOWN, AST_STATE_RESERVED, ast_strdup, ast_verb, ooh323_pvt::caller_dialedDigits, ooh323_pvt::caller_email, ooh323_pvt::caller_h323id, ooh323_pvt::caller_url, ooh323_pvt::callerid_name, ooh323_pvt::callerid_num, ooh323_pvt::callToken, ooh323_pvt::faststart, ooh323_pvt::flags, gCallerID, gH323Debug, ooh323_pvt::h245tunneling, H323_DISABLEGK, H323_OUTGOING, ooh323_pvt::host, ast_party_connected_line::id, ooh323_pvt::lock, LOG_ERROR, LOG_WARNING, name, ast_party_id::name, NULL, pbx_builtin_getvar_helper(), ooh323_pvt::port, ast_party_name::str, TRUE, and ast_party_name::valid.
int ooh323_convert_hangupcause_asteriskToH323 | ( | int | cause | ) |
Definition at line 5179 of file chan_ooh323.c.
References AST_CAUSE_BEARERCAPABILITY_NOTAVAIL, AST_CAUSE_BUSY, AST_CAUSE_CALL_REJECTED, AST_CAUSE_CONGESTION, AST_CAUSE_FAILURE, AST_CAUSE_NO_ANSWER, AST_CAUSE_NORMAL, and AST_CAUSE_UNALLOCATED.
Referenced by ooh323_hangup(), and ooh323_onReceivedSetup().
int ooh323_convert_hangupcause_h323ToAsterisk | ( | int | cause | ) |
Definition at line 5206 of file chan_ooh323.c.
References AST_CAUSE_BEARERCAPABILITY_NOTAVAIL, AST_CAUSE_BUSY, AST_CAUSE_CALL_REJECTED, AST_CAUSE_CONGESTION, AST_CAUSE_FAILURE, AST_CAUSE_NO_ANSWER, AST_CAUSE_NORMAL, AST_CAUSE_UNALLOCATED, AST_MODFLAG_LOAD_ORDER, AST_MODPRI_CHANNEL_DRIVER, AST_MODULE_INFO(), AST_MODULE_SUPPORT_EXTENDED, ASTERISK_GPL_KEY, load_module(), reload(), reload_module(), and unload_module().
int ooh323_convertAsteriskCapToH323Cap | ( | struct ast_format * | format | ) |
Definition at line 4506 of file chan_ooh323.c.
References ast_format_alaw, ast_format_cmp(), AST_FORMAT_CMP_EQUAL, ast_format_g723, ast_format_g726, ast_format_g726_aal2, ast_format_g729, ast_format_get_name(), ast_format_gsm, ast_format_h263, ast_format_speex, ast_format_ulaw, ast_log, and LOG_NOTICE.
Referenced by configure_local_rtp(), and ooh323_set_rtp_peer().
void ooh323_delete_peer | ( | struct ooh323_peer * | peer | ) |
Definition at line 2328 of file chan_ooh323.c.
References ao2_cleanup, ast_free, ast_mutex_lock, ast_mutex_unlock, ast_verb, ooh323_peer::cap, ooh323_peer::e164, ooh323_peer::email, gH323Debug, ooh323_peer::h323id, ast_peer_list::lock, ooh323_peer::next, NULL, peerl, ast_peer_list::peers, and ooh323_peer::url.
Referenced by build_peer().
int ooh323_destroy | ( | struct ooh323_pvt * | p | ) |
Definition at line 4117 of file chan_ooh323.c.
References ao2_cleanup, ast_channel_name(), ast_channel_tech_pvt_set(), ast_channel_trylock, ast_channel_unlock, ast_debug, ast_dsp_free(), ast_free, ast_module_unref, ast_mutex_destroy, ast_mutex_lock, ast_mutex_unlock, ast_rtp_instance_destroy(), ast_rtp_instance_stop(), ast_test_flag, ast_udptl_destroy(), ast_verb, ooh323_pvt::callerid_name, DEADLOCK_AVOIDANCE, find_user(), gH323Debug, H323_OUTGOING, iflist, ooh323_user::inUse, ooh323_user::lock, ooh323_pvt::next, NULL, and ooh323_pvt::username.
Referenced by do_monitor(), ooh323_request(), and unload_module().
|
static |
Definition at line 928 of file chan_ooh323.c.
References ast_channel_tech_pvt(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_rtp_instance_dtmf_begin(), ast_verb, ooh323_pvt::callToken, digit, ooh323_pvt::dtmfmode, gH323Debug, H323_DTMF_CISCO, H323_DTMF_H245ALPHANUMERIC, H323_DTMF_H245SIGNAL, H323_DTMF_INBAND, H323_DTMF_Q931, H323_DTMF_RFC2833, ooh323_pvt::lock, LOG_ERROR, and ooh323_pvt::rtp.
|
static |
Definition at line 962 of file chan_ooh323.c.
References ast_channel_tech_pvt(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_rtp_instance_dtmf_end(), ast_verb, ooh323_pvt::dtmfmode, gH323Debug, H323_DTMF_CISCO, H323_DTMF_INBAND, H323_DTMF_RFC2833, ooh323_pvt::lock, LOG_ERROR, and ooh323_pvt::rtp.
|
static |
Definition at line 2705 of file chan_ooh323.c.
References ast_mutex_lock, ast_mutex_unlock, ast_verb, ooh323_peer::e164, ooh323_peer::email, gAliasList, gGatekeeper, gH323Debug, gH323ep, gRasGkMode, gRASIP, ooh323_peer::h323id, ast_peer_list::lock, ooh323_peer::next, NULL, ooh323_pvt::peer, peerl, ast_peer_list::peers, reload_config(), and ooh323_peer::url.
Referenced by do_monitor().
|
static |
Definition at line 1522 of file chan_ooh323.c.
References ast_channel_tech_pvt(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_verb, gH323Debug, ooh323_pvt::lock, LOG_WARNING, and ooh323_pvt::owner.
|
static |
Definition at line 4420 of file chan_ooh323.c.
References ast_channel_name(), ast_channel_nativeformats(), ast_channel_tech_pvt(), ast_format_cap_append_from_cap(), ast_format_cap_count(), AST_MEDIA_TYPE_UNKNOWN, ast_verb, ooh323_pvt::cap, and gH323Debug.
|
static |
Definition at line 4442 of file chan_ooh323.c.
References ao2_ref, ast_channel_name(), ast_channel_tech_pvt(), AST_JB_FORCED, AST_RTP_GLUE_RESULT_FORBID, AST_RTP_GLUE_RESULT_LOCAL, AST_RTP_GLUE_RESULT_REMOTE, ast_rtp_instance_get_remote_address, ast_sockaddr_port, ast_sockaddr_stringify_addr(), AST_STATE_UP, ast_test_flag, ast_verb, ooh323_pvt::directrtp, ooh323_pvt::earlydirect, gH323Debug, global_jbconf, NULL, and ooh323_pvt::rtp.
|
static |
Definition at line 4485 of file chan_ooh323.c.
References ao2_ref, ast_channel_tech_pvt(), AST_RTP_GLUE_RESULT_FORBID, AST_RTP_GLUE_RESULT_LOCAL, NULL, ooh323_pvt::rtp, and ooh323_pvt::vrtp.
|
static |
Definition at line 1087 of file chan_ooh323.c.
References AST_CAUSE_CALL_REJECTED, AST_CAUSE_NO_ANSWER, AST_CAUSE_NORMAL_CIRCUIT_CONGESTION, AST_CAUSE_NORMAL_CLEARING, AST_CAUSE_REQUESTED_CHAN_UNAVAIL, AST_CAUSE_USER_BUSY, ast_channel_hangupcause(), ast_channel_tech_pvt(), ast_channel_tech_pvt_set(), ast_debug, ast_module_unref, ast_mutex_lock, ast_mutex_unlock, ast_set_flag, ast_test_flag, ast_update_use_count(), ast_verb, ooh323_pvt::callToken, gH323Debug, H323_ALREADYGONE, H323_NEEDDESTROY, ooh323_pvt::lock, NULL, ooh323_convert_hangupcause_asteriskToH323(), ooh323_pvt::owner, pbx_builtin_getvar_helper(), usecnt, usecnt_lock, and ooh323_pvt::username.
|
static |
Definition at line 1280 of file chan_ooh323.c.
References ooh323_pvt::alertsent, AST_CAUSE_SWITCH_CONGESTION, AST_CAUSE_USER_BUSY, ast_channel_connected(), ast_channel_tech_pvt(), AST_CONTROL_BUSY, AST_CONTROL_CONGESTION, AST_CONTROL_CONNECTED_LINE, AST_CONTROL_HOLD, AST_CONTROL_INCOMPLETE, AST_CONTROL_MASQUERADE_NOTIFY, AST_CONTROL_PROCEEDING, AST_CONTROL_PROGRESS, AST_CONTROL_PVT_CAUSE_CODE, AST_CONTROL_RINGING, AST_CONTROL_SRCCHANGE, AST_CONTROL_SRCUPDATE, AST_CONTROL_T38_PARAMETERS, AST_CONTROL_UNHOLD, ast_debug, ast_free, ast_log, ast_moh_start(), ast_moh_stop(), ast_mutex_lock, ast_mutex_unlock, ast_queue_control_data(), ast_rtp_instance_change_source(), ast_rtp_instance_update_source(), ast_sockaddr_isnull(), AST_STATE_RING, AST_STATE_RINGING, AST_STATE_UP, ast_strdup, ast_strlen_zero, AST_T38_NEGOTIATED, AST_T38_RATE_14400, AST_T38_REFUSED, AST_T38_REQUEST_NEGOTIATE, AST_T38_REQUEST_PARMS, AST_T38_REQUEST_TERMINATE, AST_T38_TERMINATED, ast_test_flag, ast_udptl_get_far_max_ifp(), ast_verb, ooh323_pvt::callToken, ooh323_pvt::chmodepend, ooh323_pvt::faxmode, gH323Debug, H323_ALREADYGONE, ooh323_pvt::lock, LOG_ERROR, LOG_WARNING, ast_control_t38_parameters::max_ifp, name, NULL, ooh323_pvt::owner, ooh323_pvt::progsent, ast_control_t38_parameters::rate, ooh323_pvt::redirip, ast_control_t38_parameters::request_response, ooh323_pvt::rtp, T38_ENABLED, ooh323_pvt::t38support, and ooh323_pvt::udptl.
|
static |
Definition at line 413 of file chan_ooh323.c.
References ooh323_pvt::accountcode, ooh323_pvt::amaflags, ao2_cleanup, ao2_ref, AST_ADSI_UNAVAILABLE, ast_channel_adsicpe_set(), ast_channel_alloc, ast_channel_amaflags_set(), ast_channel_context_set(), ast_channel_exten_set(), ast_channel_name(), ast_channel_nativeformats_set(), ast_channel_priority_set(), ast_channel_rings_set(), ast_channel_set_rawreadformat(), ast_channel_set_rawwriteformat(), ast_channel_tech_pvt_set(), ast_channel_tech_set(), ast_channel_unlock, ast_dsp_new(), ast_dsp_set_digitmode(), ast_dsp_set_faxmode(), ast_dsp_set_features(), ast_format_cap_alloc, ast_format_cap_append, AST_FORMAT_CAP_FLAG_DEFAULT, ast_format_cap_get_format(), ast_hangup(), ast_jb_configure(), ast_log, ast_module_ref, ast_mutex_lock, ast_mutex_unlock, ast_pbx_start(), ast_set_read_format(), ast_set_write_format(), ast_setstate(), AST_STATE_DOWN, AST_STATE_RING, ast_strlen_zero, ast_test_flag, ast_update_use_count(), ast_verb, ooh323_pvt::caller_dialedDigits, ooh323_pvt::caller_email, ooh323_pvt::caller_h323id, ooh323_pvt::caller_url, ooh323_pvt::callerid_name, ooh323_pvt::callerid_num, callnumber, ooh323_pvt::cap, ooh323_pvt::context, DSP_DIGITMODE_DTMF, DSP_DIGITMODE_RELAXDTMF, DSP_FAXMODE_DETECT_CED, DSP_FAXMODE_DETECT_CNG, DSP_FEATURE_DIGIT_DETECT, DSP_FEATURE_FAX_DETECT, ooh323_pvt::dtmfmode, ooh323_pvt::exten, ooh323_pvt::faxdetect, FAXDETECT_CNG, gH323Debug, global_jbconf, H323_DTMF_INBAND, H323_DTMF_INBANDRELAX, H323_OUTGOING, ooh323_pvt::lock, LOG_WARNING, NULL, ooh323c_cn_lock, ooh323_pvt::owner, pbx_builtin_setvar_helper(), usecnt, usecnt_lock, and ooh323_pvt::vad.
Referenced by ooh323_onReceivedSetup(), and ooh323_request().
int ooh323_onReceivedDigit | ( | OOH323CallData * | call, |
const char * | digit | ||
) |
Callback for sending digits from H.323 up to asterisk
Definition at line 1798 of file chan_ooh323.c.
References ast_channel_trylock, ast_channel_unlock, ast_debug, AST_FRAME_DTMF, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_queue_frame(), ast_frame::data, ast_frame::datalen, DEADLOCK_AVOIDANCE, find_call(), ast_frame::frametype, ast_frame_subclass::integer, ooh323_pvt::lock, LOG_ERROR, ast_frame::mallocd, NULL, ast_frame::offset, ooh323_pvt::owner, ast_frame::ptr, ast_frame::samples, ast_frame::src, and ast_frame::subclass.
Referenced by load_module().
int ooh323_onReceivedSetup | ( | ooCallData * | call, |
Q931Message * | pmsg | ||
) |
Definition at line 1840 of file chan_ooh323.c.
References ooh323_pvt::accountcode, ooh323_user::accountcode, ooh323_pvt::amaflags, ooh323_user::amaflags, ooh323_pvt::aniasdni, ooh323_user::aniasdni, AST_CAUSE_CALL_REJECTED, AST_CAUSE_NORMAL_CIRCUIT_CONGESTION, ast_clear_flag, ast_copy_string(), ast_format_cap_append_from_cap(), ast_log, AST_MEDIA_TYPE_UNKNOWN, ast_mutex_lock, ast_mutex_unlock, ast_set_flag, AST_STATE_RING, ast_strdup, ast_strlen_zero, ast_verb, c, ooh323_pvt::callee_dialedDigits, ooh323_pvt::callee_email, ooh323_pvt::callee_h323id, ooh323_pvt::caller_dialedDigits, ooh323_pvt::caller_email, ooh323_pvt::caller_h323id, ooh323_pvt::caller_url, ooh323_pvt::callerid_name, ooh323_pvt::callerid_num, ooh323_pvt::cap, ooh323_user::cap, configure_local_rtp(), ooh323_pvt::context, ooh323_user::context, ooh323_pvt::directrtp, ooh323_user::directrtp, ooh323_pvt::dtmfcodec, ooh323_user::dtmfcodec, ooh323_pvt::dtmfmode, ooh323_user::dtmfmode, ooh323_pvt::earlydirect, ooh323_user::earlydirect, ooh323_pvt::exten, ooh323_pvt::faststart, ooh323_user::faststart, ooh323_pvt::faxdetect, ooh323_user::faxdetect, find_user(), ooh323_pvt::flags, ooh323_pvt::g729onlyA, ooh323_user::g729onlyA, gDirectRTP, gEarlyDirect, gH323Debug, ooh323_pvt::h245tunneling, ooh323_user::h245tunneling, H323_DISABLEGK, H323_NEEDDESTROY, H323_OUTGOING, ooh323_user::incominglimit, ooh323_user::inUse, ooh323_pvt::lock, ooh323_user::lock, LOG_ERROR, ooh323_user::mIP, ooh323_user::mUseIP, ooh323_user::name, ooh323_pvt::nat, ooh323_user::nat, ooh323_pvt::neighbor, NULL, ooh323_alloc(), ooh323_convert_hangupcause_asteriskToH323(), ooh323_new(), ooh323c_set_capability_for_call(), ooh323_pvt::rtdrcount, ooh323_user::rtdrcount, ooh323_pvt::rtdrinterval, ooh323_user::rtdrinterval, ooh323_pvt::rtpmask, ooh323_user::rtpmask, ooh323_pvt::rtpmaskstr, ooh323_user::rtpmaskstr, ooh323_pvt::rtptimeout, ooh323_user::rtptimeout, ooh323_pvt::t38support, ooh323_user::t38support, update_our_aliases(), ooh323_pvt::user, and ooh323_pvt::username.
Referenced by load_module().
|
static |
Definition at line 1460 of file chan_ooh323.c.
References ast_channel_name(), ast_channel_tech_pvt(), ast_debug, ast_log, ast_mutex_lock, ast_mutex_unlock, AST_OPTION_DIGIT_DETECT, AST_OPTION_T38_STATE, ast_verb, ooh323_pvt::chmodepend, ooh323_pvt::faxmode, gH323Debug, ooh323_pvt::lock, LOG_ERROR, state, T38_DISABLED, T38_STATE_NEGOTIATED, T38_STATE_NEGOTIATING, T38_STATE_UNAVAILABLE, T38_STATE_UNKNOWN, ooh323_pvt::t38support, and ooh323_pvt::vad.
|
static |
Definition at line 1194 of file chan_ooh323.c.
References ast_channel_tech_pvt(), AST_FRAME_NULL, ast_mutex_lock, ast_mutex_unlock, ooh323_pvt::lock, ooh323_rtp_read(), and ooh323_pvt::rtp.
|
static |
Definition at line 624 of file chan_ooh323.c.
References ooh323_pvt::accountcode, ooh323_peer::accountcode, ooh323_pvt::amaflags, ooh323_peer::amaflags, ast_calloc, AST_CAUSE_INVALID_NUMBER_FORMAT, AST_CAUSE_NORMAL_TEMPORARY_FAILURE, ast_cond_destroy, ast_cond_init, ast_cond_wait, ast_copy_string(), ast_format_cap_append_from_cap(), ast_format_cap_get_names(), ast_format_cap_has_type(), AST_FORMAT_CAP_NAMES_LEN, ast_log, AST_MAX_EXTENSION, AST_MEDIA_TYPE_AUDIO, AST_MEDIA_TYPE_UNKNOWN, ast_mutex_lock, ast_mutex_unlock, ast_set_flag, AST_STATE_DOWN, ast_str_alloca, ast_strdup, ast_verb, ooh323_pvt::callToken, ooh323_pvt::cap, ooh323_peer::cap, ooh323_pvt::directrtp, ooh323_peer::directrtp, ooh323_pvt::dtmfcodec, ooh323_peer::dtmfcodec, ooh323_pvt::dtmfmode, ooh323_peer::dtmfmode, ooh323_pvt::earlydirect, ooh323_peer::earlydirect, ext, ooh323_pvt::exten, ooh323_pvt::faststart, ooh323_peer::faststart, ooh323_pvt::faxdetect, ooh323_peer::faxdetect, find_peer(), ooh323_pvt::g729onlyA, ooh323_peer::g729onlyA, gDirectRTP, gDTMFCodec, gDTMFMode, gEarlyDirect, gFastStart, gFAXdetect, gH323Debug, gH323ep, gNat, gRasGkMode, gRTDRCount, gRTDRInterval, gRTPTimeout, gT38Support, gTunneling, ooh323_pvt::h245tunneling, ooh323_peer::h245tunneling, H323_OUTGOING, ooh323_pvt::host, iflock, ooh323_peer::ip, ooh323_pvt::lock, LOG_ERROR, LOG_NOTICE, LOG_WARNING, ooh323_peer::name, ooh323_pvt::nat, ooh323_peer::nat, NULL, ooh323_alloc(), ooh323_destroy(), ooh323_new(), ooh323_pvt::peer, ooh323_pvt::port, ooh323_peer::port, restart_monitor(), ooh323_pvt::rtdrcount, ooh323_peer::rtdrcount, ooh323_pvt::rtdrinterval, ooh323_peer::rtdrinterval, ooh323_pvt::rtp, ooh323_pvt::rtpcond, ooh323_pvt::rtpmask, ooh323_peer::rtpmask, ooh323_pvt::rtpmaskstr, ooh323_peer::rtpmaskstr, ooh323_pvt::rtptimeout, ooh323_peer::rtptimeout, ooh323_pvt::t38support, ooh323_peer::t38support, tmp(), and ooh323_pvt::username.
struct ast_frame* ooh323_rtp_read | ( | struct ast_channel * | ast, |
struct ooh323_pvt * | p | ||
) |
Definition at line 4978 of file chan_ooh323.c.
References ao2_ref, ast_async_goto(), ast_channel_caller(), ast_channel_context(), ast_channel_exten(), ast_channel_fdno(), ast_channel_macrocontext(), ast_channel_name(), ast_channel_nativeformats(), ast_channel_nativeformats_set(), ast_channel_readformat(), ast_channel_writeformat(), ast_debug, ast_dsp_process(), ast_exists_extension(), ast_format_alaw, ast_format_cap_alloc, ast_format_cap_append, AST_FORMAT_CAP_FLAG_DEFAULT, ast_format_cap_iscompatible_format(), ast_format_cmp(), AST_FORMAT_CMP_EQUAL, AST_FORMAT_CMP_NOT_EQUAL, ast_format_get_name(), ast_format_slin, ast_format_ulaw, AST_FRAME_DTMF, AST_FRAME_NULL, AST_FRAME_VOICE, ast_frdup, ast_frfree, ast_log, ast_null_frame, ast_rtp_instance_read(), ast_set_read_format(), ast_set_write_format(), ast_udptl_read(), ast_verb, ooh323_pvt::callToken, ooh323_pvt::chmodepend, ast_frame::datalen, ooh323_pvt::dtmfmode, ooh323_pvt::faxdetect, FAXDETECT_CNG, ooh323_pvt::faxdetected, ooh323_pvt::faxmode, ast_frame_subclass::format, ast_frame::frametype, gH323Debug, H323_DTMF_INBAND, ast_party_caller::id, ast_frame_subclass::integer, ooh323_pvt::lastrtprx, LOG_NOTICE, NULL, ast_party_id::number, ooh323_pvt::owner, pbx_builtin_setvar_helper(), ooh323_pvt::rtp, S_COR, S_OR, ast_party_number::str, ast_frame::subclass, T38_DISABLED, ooh323_pvt::t38support, ooh323_pvt::udptl, ooh323_pvt::vad, ast_party_number::valid, and ooh323_pvt::vrtp.
Referenced by ooh323_read().
void ooh323_set_read_format | ( | ooCallData * | call, |
struct ast_format * | fmt | ||
) |
Definition at line 1625 of file chan_ooh323.c.
References ao2_ref, ao2_replace, ast_channel_nativeformats_set(), ast_channel_readformat(), ast_channel_trylock, ast_channel_unlock, ast_debug, ast_format_cap_alloc, ast_format_cap_append, AST_FORMAT_CAP_FLAG_DEFAULT, ast_format_get_name(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_set_read_format(), ast_verb, DEADLOCK_AVOIDANCE, find_call(), gH323Debug, ooh323_pvt::lock, LOG_ERROR, NULL, ooh323_pvt::owner, and ooh323_pvt::readformat.
|
static |
Definition at line 4532 of file chan_ooh323.c.
References ast_channel_name(), ast_channel_tech_pvt(), ast_channel_writeformat(), ast_free, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_rtp_instance_get_and_cmp_remote_address, ast_sockaddr_isnull(), ast_sockaddr_port, ast_sockaddr_stringify_addr(), ast_strdup, ast_verb, ooh323_pvt::callToken, gH323Debug, ooh323_pvt::lock, LOG_ERROR, LOG_WARNING, NULL, ooh323_convertAsteriskCapToH323Cap(), and ooh323_pvt::redirip.
void ooh323_set_write_format | ( | ooCallData * | call, |
struct ast_format * | fmt, | ||
int | txframes | ||
) |
Definition at line 1553 of file chan_ooh323.c.
References ao2_ref, ao2_replace, ast_channel_nativeformats(), ast_channel_nativeformats_set(), ast_channel_readformat(), ast_channel_trylock, ast_channel_unlock, ast_channel_writeformat(), ast_debug, ast_format_cap_alloc, ast_format_cap_append, AST_FORMAT_CAP_FLAG_DEFAULT, ast_format_cap_get_names(), AST_FORMAT_CAP_NAMES_LEN, ast_format_cap_set_framing(), ast_format_get_name(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_rtp_codecs_payloads_set_rtpmap_type(), ast_rtp_instance_get_codecs(), ast_set_read_format(), ast_set_write_format(), ast_str_alloca, ast_verb, DEADLOCK_AVOIDANCE, ooh323_pvt::dtmfcodec, ooh323_pvt::dtmfmode, find_call(), gH323Debug, H323_DTMF_CISCO, H323_DTMF_RFC2833, ooh323_pvt::lock, LOG_ERROR, NULL, ooh323_pvt::owner, ooh323_pvt::rtp, and ooh323_pvt::writeformat.
Referenced by ooh323c_start_transmit_channel().
|
static |
Definition at line 1212 of file chan_ooh323.c.
References ast_channel_name(), ast_channel_nativeformats(), ast_channel_readformat(), ast_channel_tech_pvt(), ast_channel_writeformat(), ast_debug, ast_format_cap_count(), ast_format_cap_get_names(), ast_format_cap_iscompatible_format(), AST_FORMAT_CAP_NAMES_LEN, AST_FORMAT_CMP_NOT_EQUAL, ast_format_get_name(), AST_FRAME_IMAGE, AST_FRAME_MODEM, AST_FRAME_VOICE, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_rtp_instance_write(), ast_set_write_format(), ast_str_alloca, ast_test_flag, ast_udptl_write(), ooh323_pvt::callToken, ast_frame::datalen, ast_frame_subclass::format, ast_frame::frametype, H323_OUTGOING, ast_frame_subclass::integer, ooh323_pvt::lastrtptx, ooh323_pvt::lock, LOG_WARNING, NULL, ooh323_pvt::progsent, ooh323_pvt::rtp, ast_frame::subclass, and ooh323_pvt::udptl.
static int reload_config | ( | int | reload | ) |
Definition at line 2813 of file chan_ooh323.c.
References ast_calloc, ast_category_browse(), ast_channel_string2amaflag(), ast_config_AST_LOG_DIR, ast_config_destroy(), ast_config_load, ast_copy_string(), ast_false(), ast_format_cap_append, ast_format_cap_remove_by_type(), ast_format_cap_update_by_allow_disallow(), ast_format_ulaw, ast_free, ast_jb_read_conf(), ast_log, AST_MEDIA_TYPE_UNKNOWN, ast_mutex_lock, ast_mutex_unlock, ast_parse_arg(), ast_sockaddr_is_ipv6(), ast_strdup, ast_strdupa, ast_strlen_zero, ast_true(), ast_variable_browse(), ast_variable_retrieve(), ast_verb, bindaddr, buf, build_peer(), build_user(), config, CONFIG_FLAG_FILEUNCHANGED, CONFIG_STATUS_FILEUNCHANGED, DEFAULT_CONTEXT, DEFAULT_H323ACCNT, DEFAULT_H323ID, DEFAULT_LOGFILE, delete_peers(), delete_users(), FALSE, FAXDETECT_CNG, FAXDETECT_T38, format, ooh323_pvt::g729onlyA, gAccountcode, gAliasList, gAMAFLAGS, gANIasDNI, gBeMaster, gCallerID, gContext, gDirectRTP, gDTMFCodec, gDTMFMode, gEarlyDirect, gFastStart, gFAXdetect, gGatekeeper, gH323Debug, gIncomingLimit, gIP, gIsGateway, global_jbconf, gLogFile, gMediaWaitForConnect, gNat, gOutgoingLimit, gPort, gRasGkMode, gRASIP, gRTDRCount, gRTDRInterval, gRTPTimeout, gT38Support, gTOS, gTRCLVL, gTunneling, H323_DTMF_CISCO, H323_DTMF_H245ALPHANUMERIC, H323_DTMF_H245SIGNAL, H323_DTMF_INBAND, H323_DTMF_INBANDRELAX, H323_DTMF_Q931, H323_DTMF_RFC2833, IPTOS_MINCOST, ast_variable::lineno, ast_user_list::lock, ast_peer_list::lock, LOG_ERROR, LOG_NOTICE, LOG_WARNING, manufacturer, ooh323_config::mTCPPortEnd, ooh323_config::mTCPPortStart, ast_variable::name, ast_variable::next, ooh323_pvt::next, ooh323_user::next, ooh323_peer::next, NULL, ooconfig, PARSE_ADDR, ooh323_pvt::peer, peerl, ast_peer_list::peers, RESULT_SUCCESS, strsep(), t35countrycode, t35extensions, T38_DISABLED, T38_ENABLED, T38_FAXGW, tmp(), ooh323_pvt::user, userl, ast_user_list::users, v6mode, ast_variable::value, vendor, and version.
Referenced by load_module(), and ooh323_do_reload().
|
static |
Definition at line 3981 of file chan_ooh323.c.
References ast_mutex_lock, ast_mutex_unlock, ast_verb, gH323Debug, h323_reload_lock, h323_reloading, and restart_monitor().
Referenced by ooh323_convert_hangupcause_h323ToAsterisk().
static int restart_monitor | ( | void | ) |
Start the channel monitor thread.
Definition at line 4082 of file chan_ooh323.c.
References ast_log, ast_mutex_lock, ast_mutex_unlock, ast_pthread_create, AST_PTHREADT_NULL, AST_PTHREADT_STOP, do_monitor(), LOG_ERROR, LOG_WARNING, monitor_thread, monlock, and NULL.
Referenced by handle_cli_ooh323_reload(), load_module(), ooh323_request(), and reload_module().
void setup_rtp_connection | ( | ooCallData * | call, |
const char * | remoteIp, | ||
int | remotePort | ||
) |
Definition at line 4775 of file chan_ooh323.c.
References ast_format_cmp(), AST_FORMAT_CMP_EQUAL, ast_format_g726_aal2, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_parse_arg(), ast_rtp_codecs_payloads_set_rtpmap_type(), ast_rtp_instance_get_codecs(), ast_rtp_instance_set_remote_address, AST_RTP_OPT_G726_NONSTANDARD, ast_sockaddr_set_port, ast_verb, find_call(), gH323Debug, ooh323_pvt::lock, LOG_ERROR, NULL, PARSE_ADDR, ooh323_pvt::rtp, and ooh323_pvt::writeformat.
Referenced by ooh323c_start_transmit_channel().
void setup_rtp_remote | ( | ooCallData * | call, |
const char * | remoteIp, | ||
int | remotePort | ||
) |
Definition at line 4736 of file chan_ooh323.c.
References ast_log, ast_mutex_lock, ast_mutex_unlock, ast_parse_arg(), ast_rtp_instance_set_remote_address, ast_sockaddr_set_port, ast_verb, find_call(), gH323Debug, ooh323_pvt::lock, LOG_ERROR, NULL, PARSE_ADDR, and ooh323_pvt::rtp.
Referenced by load_module().
void setup_udptl_connection | ( | ooCallData * | call, |
const char * | remoteIp, | ||
int | remotePort | ||
) |
Definition at line 4839 of file chan_ooh323.c.
References ast_channel_name(), ast_channel_trylock, ast_channel_unlock, AST_CONTROL_T38_PARAMETERS, ast_debug, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_parse_arg(), ast_queue_control_data(), ast_sockaddr_port, ast_sockaddr_set_port, ast_sockaddr_stringify_host(), AST_T38_NEGOTIATED, AST_T38_RATE_14400, ast_udptl_get_far_max_ifp(), ast_udptl_set_peer(), ast_udptl_set_tag(), ast_verb, DEADLOCK_AVOIDANCE, find_call(), gH323Debug, ooh323_pvt::lastTxT38, ooh323_pvt::lock, LOG_ERROR, ast_control_t38_parameters::max_ifp, NULL, ooh323_pvt::owner, PARSE_ADDR, ast_control_t38_parameters::rate, ast_control_t38_parameters::request_response, T38_ENABLED, ooh323_pvt::t38_tx_enable, ooh323_pvt::t38support, and ooh323_pvt::udptl.
Referenced by ooh323c_start_transmit_datachannel().
|
static |
Definition at line 4296 of file chan_ooh323.c.
References ao2_ref, ast_channel_unregister(), ast_cli_unregister_multiple(), ast_free, ast_log, ast_mutex_lock, ast_mutex_unlock, AST_PTHREADT_NULL, AST_PTHREADT_STOP, ast_rtp_glue_unregister(), ast_softhangup(), AST_SOFTHANGUP_APPUNLOAD, ast_unregister_atexit(), ast_verb, ast_channel_tech::capabilities, delete_peers(), delete_users(), gAliasList, gH323Debug, iflist, iflock, LOG_WARNING, monitor_thread, monlock, ooh323_pvt::next, NULL, ooh323_destroy(), ooh323c_stop_stack_thread(), and ooh323_pvt::owner.
Referenced by ooh323_convert_hangupcause_h323ToAsterisk().
int update_our_aliases | ( | ooCallData * | call, |
struct ooh323_pvt * | p | ||
) |
Definition at line 4949 of file chan_ooh323.c.
References ast_copy_string(), ooh323_pvt::callee_dialedDigits, ooh323_pvt::callee_email, ooh323_pvt::callee_h323id, ooh323_pvt::callee_url, and NULL.
Referenced by ooh323_onReceivedSetup().
|
static |
Definition at line 5250 of file chan_ooh323.c.
|
static |
Definition at line 5250 of file chan_ooh323.c.
struct ast_sockaddr bindaddr |
UDP: The address we bind to
Definition at line 353 of file chan_ooh323.c.
Referenced by AST_TEST_DEFINE(), configure_local_rtp(), process_config(), and reload_config().
|
static |
Definition at line 335 of file chan_ooh323.c.
Referenced by handle_cli_ooh323_show_config(), and ooh323_new().
|
static |
Definition at line 3673 of file chan_ooh323.c.
|
static |
Definition at line 111 of file chan_ooh323.c.
Referenced by reload_config().
|
static |
Definition at line 115 of file chan_ooh323.c.
|
static |
Definition at line 375 of file chan_ooh323.c.
|
static |
Definition at line 376 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), ooh323_alloc(), and reload_config().
|
static |
Definition at line 356 of file chan_ooh323.c.
Referenced by handle_cli_ooh323_show_config(), load_module(), ooh323_do_reload(), reload_config(), and unload_module().
|
static |
Definition at line 377 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), ooh323_alloc(), and reload_config().
|
static |
Definition at line 385 of file chan_ooh323.c.
Referenced by ooh323_alloc(), and reload_config().
|
static |
Definition at line 369 of file chan_ooh323.c.
Referenced by load_module(), and reload_config().
|
static |
Definition at line 355 of file chan_ooh323.c.
Referenced by handle_cli_ooh323_show_config(), load_module(), ooh323_call(), and reload_config().
|
static |
Definition at line 357 of file chan_ooh323.c.
|
static |
Definition at line 378 of file chan_ooh323.c.
Referenced by build_user(), handle_cli_ooh323_show_config(), ooh323_alloc(), and reload_config().
|
static |
Definition at line 371 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), ooh323_onReceivedSetup(), ooh323_request(), and reload_config().
|
static |
Definition at line 359 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), load_module(), ooh323_alloc(), ooh323_request(), and reload_config().
|
static |
Definition at line 358 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), load_module(), ooh323_alloc(), ooh323_request(), and reload_config().
|
static |
Definition at line 372 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), ooh323_onReceivedSetup(), ooh323_request(), and reload_config().
|
static |
Definition at line 367 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), load_module(), ooh323_request(), and reload_config().
|
static |
Definition at line 360 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), ooh323_alloc(), ooh323_request(), and reload_config().
|
static |
Definition at line 362 of file chan_ooh323.c.
Referenced by do_monitor(), handle_cli_ooh323_show_config(), handle_cli_ooh323_show_gk(), load_module(), ooh323_do_reload(), and reload_config().
OOBOOL gH323Debug = FALSE |
Definition at line 381 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), close_rtp_connection(), close_udptl_connection(), configure_local_rtp(), find_call(), find_friend(), find_peer(), find_user(), handle_cli_ooh323_reload(), handle_cli_ooh323_set_debug(), onAlerting(), onCallCleared(), onCallEstablished(), onModeChanged(), onNewCallCreated(), onOutgoingCall(), onProgress(), ooh323_alloc(), ooh323_answer(), ooh323_call(), ooh323_delete_peer(), ooh323_destroy(), ooh323_digit_begin(), ooh323_digit_end(), ooh323_do_reload(), ooh323_fixup(), ooh323_get_codec(), ooh323_get_rtp_peer(), ooh323_hangup(), ooh323_indicate(), ooh323_new(), ooh323_onReceivedSetup(), ooh323_queryoption(), ooh323_request(), ooh323_rtp_read(), ooh323_set_read_format(), ooh323_set_rtp_peer(), ooh323_set_write_format(), ooh323c_set_capability(), ooh323c_set_capability_for_call(), ooh323c_start_call_thread(), reload_config(), reload_module(), setup_rtp_connection(), setup_rtp_remote(), setup_udptl_connection(), and unload_module().
OOH323EndPoint gH323ep |
Referenced by do_monitor(), handle_cli_ooh323_show_config(), handle_cli_ooh323_show_gk(), ooh323_do_reload(), and ooh323_request().
|
static |
Definition at line 379 of file chan_ooh323.c.
Referenced by reload_config().
|
static |
Definition at line 350 of file chan_ooh323.c.
Referenced by load_module().
|
static |
Definition at line 352 of file chan_ooh323.c.
Referenced by handle_cli_ooh323_show_config(), load_module(), and reload_config().
|
static |
Definition at line 366 of file chan_ooh323.c.
Referenced by load_module(), and reload_config().
|
static |
Definition at line 122 of file chan_ooh323.c.
Referenced by ooh323_get_rtp_peer(), ooh323_new(), and reload_config().
|
static |
Definition at line 349 of file chan_ooh323.c.
Referenced by handle_cli_ooh323_show_config(), load_module(), and reload_config().
|
static |
Definition at line 370 of file chan_ooh323.c.
Referenced by handle_cli_ooh323_show_config(), load_module(), and reload_config().
|
static |
Definition at line 384 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), ooh323_alloc(), ooh323_request(), and reload_config().
|
static |
Definition at line 380 of file chan_ooh323.c.
Referenced by reload_config().
|
static |
Definition at line 351 of file chan_ooh323.c.
Referenced by handle_cli_ooh323_show_config(), load_module(), and reload_config().
|
static |
Definition at line 364 of file chan_ooh323.c.
Referenced by do_monitor(), handle_cli_ooh323_show_config(), handle_cli_ooh323_show_gk(), load_module(), ooh323_alloc(), ooh323_do_reload(), ooh323_request(), and reload_config().
|
static |
Definition at line 363 of file chan_ooh323.c.
Referenced by do_monitor(), load_module(), ooh323_do_reload(), and reload_config().
|
static |
Definition at line 383 of file chan_ooh323.c.
Referenced by handle_cli_ooh323_show_config(), ooh323_alloc(), ooh323_request(), and reload_config().
|
static |
Definition at line 383 of file chan_ooh323.c.
Referenced by handle_cli_ooh323_show_config(), ooh323_alloc(), ooh323_request(), and reload_config().
|
static |
Definition at line 374 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), ooh323_alloc(), ooh323_request(), and reload_config().
|
static |
Definition at line 361 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), ooh323_alloc(), ooh323_request(), and reload_config().
|
static |
Definition at line 373 of file chan_ooh323.c.
Referenced by configure_local_rtp(), and reload_config().
|
static |
Definition at line 382 of file chan_ooh323.c.
Referenced by load_module(), and reload_config().
|
static |
Definition at line 368 of file chan_ooh323.c.
Referenced by build_peer(), build_user(), handle_cli_ooh323_show_config(), load_module(), ooh323_request(), and reload_config().
|
static |
Definition at line 329 of file chan_ooh323.c.
Referenced by do_monitor(), handle_cli_ooh323_reload(), and reload_module().
|
static |
Definition at line 328 of file chan_ooh323.c.
Referenced by do_monitor(), handle_cli_ooh323_reload(), and reload_module().
|
static |
Referenced by do_monitor(), find_call(), ooh323_alloc(), ooh323_destroy(), and unload_module().
|
static |
Definition at line 252 of file chan_ooh323.c.
Referenced by do_monitor(), find_call(), ooh323_alloc(), ooh323_request(), and unload_module().
|
static |
Definition at line 401 of file chan_ooh323.c.
Referenced by ael2_parse(), and ast_udptl_new_with_bindaddr().
|
static |
Definition at line 389 of file chan_ooh323.c.
Referenced by load_module(), and reload_config().
|
static |
Definition at line 410 of file chan_ooh323.c.
Referenced by restart_monitor(), and unload_module().
|
static |
Definition at line 405 of file chan_ooh323.c.
Referenced by do_monitor(), restart_monitor(), and unload_module().
struct ast_module* myself |
Definition at line 113 of file chan_ooh323.c.
|
static |
Referenced by handle_cli_ooh323_show_config(), load_module(), and reload_config().
|
static |
Definition at line 172 of file chan_ooh323.c.
|
static |
Definition at line 150 of file chan_ooh323.c.
|
static |
Definition at line 336 of file chan_ooh323.c.
Referenced by ooh323_new().
|
static |
|
static |
Asterisk RTP stuff
Definition at line 400 of file chan_ooh323.c.
Referenced by ast_rtp_new(), and ast_udptl_new_with_bindaddr().
|
static |
Definition at line 387 of file chan_ooh323.c.
Referenced by load_module(), and reload_config().
|
static |
Definition at line 388 of file chan_ooh323.c.
Referenced by load_module(), and reload_config().
|
static |
Definition at line 110 of file chan_ooh323.c.
|
static |
Definition at line 109 of file chan_ooh323.c.
Referenced by __ast_sorcery_apply_config(), __send_command(), _build_port_config(), _fill_defaults(), _free_port_cfg(), aco_info_init(), action_dahdishowchannels(), add_static_payload(), ast_aoc_add_unit_entry(), ast_aoc_set_total_type(), ast_audiohook_init(), ast_body_to_pjsip_body(), ast_call_forward(), ast_cc_monitor_count(), ast_channel_get_default_stream(), ast_codec_get(), ast_event_get_type_name(), ast_format_str_reduce(), ast_http_get_json(), ast_http_get_post_vars(), ast_multi_object_blob_create(), ast_rtp_codecs_find_payload_code(), ast_rtp_codecs_get_payload(), ast_rtp_codecs_get_payload_format(), ast_rtp_codecs_get_stream_type(), ast_rtp_codecs_payload_code(), ast_rtp_codecs_payload_code_tx(), ast_rtp_codecs_payload_formats(), ast_rtp_codecs_payload_replace_format(), ast_rtp_codecs_payloads_copy(), ast_rtp_codecs_payloads_destroy(), ast_rtp_codecs_payloads_unset(), ast_rtp_codecs_payloads_xover(), ast_rtp_instance_early_bridge(), ast_rtp_instance_early_bridge_make_compatible(), ast_rtp_instance_make_compatible(), ast_sd_notify(), ast_set_lock_type(), ast_sip_auth_type_to_str(), ast_sip_session_media_state_add(), ast_sip_session_media_state_clone(), ast_stream_alloc(), ast_stream_set_type(), ast_stream_topology_create_from_format_cap(), ast_stream_topology_map(), AST_TEST_DEFINE(), ast_var_channels_table(), ast_write_stream(), ast_writestream(), asterisk_publication_devicestate_state_change(), asterisk_publication_mwi_state_change(), bridge_other_hook(), build_topology(), cache_entry_create(), cache_find(), cache_test_aggregate_calc_fn(), chan_pjsip_pvt_dtor(), channel_do_masquerade(), channel_fax_cb(), channel_read_rtcp(), channel_set_default_streams(), channel_snapshot_base_create(), check_event(), check_header(), check_stream_positions(), compile_script(), conf_run(), config_option_destroy(), create_dialog_uas(), create_dtmf_frame(), dahdi_chan_conf_default(), dahdi_setoption(), dahdiras_exec(), dbopen(), decode(), device_state_cb(), evaluate_history_entry(), find_agent_callbacks(), find_body_generator_accept(), find_route(), find_subscription_type(), find_table_cb(), find_unused_payload_in_range(), flash_exec(), func_channel_read(), func_confbridge_helper(), func_confbridge_info(), function_ooh323_read(), function_ooh323_write(), g723_len(), generate_notify_body(), generate_status(), get_chan_by_ast_name(), get_sdp_line(), h264_decap(), handle_bridge_technology_show(), handle_cli_iax2_show_threads(), handle_cli_realtime_mysql_status(), handle_incoming_sdp(), handle_missing_table(), handle_showchan(), hangupcause_read(), has_media_level_attribute(), is_stream_limitation_reached(), jb_debug_output(), jingle_interpret_ice_udp_transport(), keypad_cfg_read(), ldap_mod_create(), ldap_mod_duplicate(), link_option_to_types(), load_module(), manager_bridge_tech_list(), manager_generic_msg_cb(), media_hangup(), message_type_dtor(), misdn_cfg_get(), misdn_cfg_get_config_string(), msg_timestamp(), multi_object_blob_dtor(), multi_object_blob_to_ami(), multi_user_event_to_json(), mwi_startup_event_cb(), npval(), originate_exec(), osp_check_destination(), osp_lookup(), osp_next(), osplookup_exec(), ospnext_exec(), parse_connect(), parse_facility(), parse_information(), parse_notify(), parse_setup(), pjsip_acf_channel_read(), pjsip_acf_dtmf_mode_read(), pjsip_acf_dtmf_mode_write(), pjsip_acf_media_offer_read(), pjsip_acf_media_offer_write(), pjsip_acf_moh_passthrough_read(), pjsip_acf_moh_passthrough_write(), pjsip_acf_parse_uri_read(), pjsip_acf_session_refresh_write(), playback_to_json(), process_category(), process_request(), process_sdp(), publish_chanspy_message(), push_notify_channel(), queue_put(), realtime_require_handler(), realtime_sqlite3_require(), recording_to_json(), require_curl(), require_mysql(), require_odbc(), rtcp_debug_test_addr(), rtcp_report_to_ami(), rtp_codecs_find_non_primary_dynamic_rx(), rtp_codecs_payloads_copy_rx(), rtp_codecs_payloads_copy_tx(), rtp_glue_data_get(), rtp_payload_type_alloc(), s_to_json(), sayfile_exec(), schedule_delivery(), sdp_requires_deferral(), serialize_showchan(), session_inv_on_state_changed(), set_outbound_initial_authentication_credentials(), set_target_uri(), setup_env(), sip_acf_channel_read(), sip_cc_agent_init(), sip_dialog_create_contact(), sip_dialog_create_from(), sip_resolve(), sla_load_config(), sla_queue_event_full(), softhangup_exec(), softmix_bridge_stream_topology_changed(), sorcery_object_load(), sorcery_wizard_load(), startup_event_cb(), stasis_app_user_event(), stasis_cache_dump_all(), stasis_cache_dump_by_eid(), stasis_message_create_full(), stasis_message_type_create(), stream_echo_exec(), subscription_persistence_event_cb(), subscription_type2str(), tech_capability2str(), test_cli_generate_results(), test_media_add(), test_stir_shaken_write_temp_key(), test_suite_event_to_ami(), transfer_exec(), try_calling(), update_content_type(), websocket_on_rx_msg(), xmldoc_get_syntax_config_option(), xmldoc_update_config_type(), and xmpp_pak_presence().
|
static |
Definition at line 332 of file chan_ooh323.c.
Referenced by onCallCleared(), ooh323_hangup(), and ooh323_new().
|
static |
Definition at line 333 of file chan_ooh323.c.
Referenced by onCallCleared(), ooh323_hangup(), and ooh323_new().
|
static |
Referenced by delete_users(), find_user(), handle_cli_ooh323_show_user(), handle_cli_ooh323_show_users(), load_module(), and reload_config().
int v6mode = 0 |
Definition at line 354 of file chan_ooh323.c.
Referenced by load_module(), and reload_config().
|
static |
Definition at line 390 of file chan_ooh323.c.
Referenced by load_module(), and reload_config().
|
static |
Definition at line 391 of file chan_ooh323.c.
Referenced by add_sdp(), ast_remotecontrol(), ast_rtp_read(), ast_var_Version(), ast_websocket_uri_cb(), check_access(), config_module(), dump_versioned_codec(), iax_ie_append_versioned_uint64(), iax_parse_ies(), load_module(), main(), process_my_load_module(), reload_config(), rtcp_mux(), update_registry(), and xmpp_component_service_discovery_get_hook().