diff --git a/addons/chan_ooh323.c b/addons/chan_ooh323.c index 5fa3ae5665953b3ce1e8a98580fb21aca016665c..4c633ed3a9484e45d580b876de8a301e163b885a 100644 --- a/addons/chan_ooh323.c +++ b/addons/chan_ooh323.c @@ -14,6 +14,8 @@ * *****************************************************************************/ +/* Reworked version I, Nov-2009, by Alexandr Anikin, may@telecom-service.ru */ + /*** MODULEINFO <defaultenabled>no</defaultenabled> @@ -94,6 +96,7 @@ static const struct ast_channel_tech ooh323_tech = { .type = type, .description = tdesc, .capabilities = -1, + .properties = AST_CHAN_TP_WANTSJITTER | AST_CHAN_TP_CREATESJITTER, .requester = ooh323_request, .send_digit_begin = ooh323_digit_begin, .send_digit_end = ooh323_digit_end, @@ -1015,7 +1018,7 @@ static int ooh323_hangup(struct ast_channel *ast) ast_update_use_count(); } else { - ast_log(LOG_DEBUG, "No call to hangup\n" ); + ast_debug(1, "No call to hangup\n" ); } if (gH323Debug) @@ -1326,6 +1329,8 @@ static int ooh323_fixup(struct ast_channel *oldchan, struct ast_channel *newchan { struct ooh323_pvt *p = newchan->tech_pvt; + if (!p) return -1; + if (gH323Debug) ast_verbose("--- ooh323c ooh323_fixup\n"); @@ -3077,14 +3082,6 @@ static int load_module(void) .onModeChanged = onModeChanged }; - ast_log(LOG_NOTICE, - "---------------------------------------------------------------------------------\n" - "--- ******* IMPORTANT NOTE ***********\n" - "---\n" - "--- This module is currently unsupported. Use it at your own risk.\n" - "---\n" - "---------------------------------------------------------------------------------\n"); - myself = ast_module_info->self; h225Callbacks.onReceivedSetup = &ooh323_onReceivedSetup; @@ -3625,7 +3622,7 @@ static enum ast_rtp_glue_result ooh323_get_rtp_peer(struct ast_channel *chan, st enum ast_rtp_glue_result res = AST_RTP_GLUE_RESULT_LOCAL; if (!(p = (struct ooh323_pvt *) chan->tech_pvt)) - return AST_RTP_GLUE_RESULT_FORBID; + return AST_RTP_GLUE_RESULT_FORBID; if (!(p->rtp)) { return AST_RTP_GLUE_RESULT_FORBID; @@ -3635,6 +3632,10 @@ static enum ast_rtp_glue_result ooh323_get_rtp_peer(struct ast_channel *chan, st res = AST_RTP_GLUE_RESULT_LOCAL; + if (ast_test_flag(&global_jbconf, AST_JB_FORCED)) { + res = AST_RTP_GLUE_RESULT_FORBID; + } + return res; } diff --git a/addons/ooh323c/src/ooh245.c b/addons/ooh323c/src/ooh245.c index c8aad5d170174df5dadd634d430c1590c36c5d1f..920df770fa3f5604c65a6875e012e233b976af89 100644 --- a/addons/ooh323c/src/ooh245.c +++ b/addons/ooh323c/src/ooh245.c @@ -3201,7 +3201,7 @@ int ooSendH245UserInputIndication_alphanumeric ooFreeH245Message(call, ph245msg); return OO_FAILED; } - strcpy(*(char**)indication->u.userInput->u.alphanumeric, data); + strcpy(*(char**)&indication->u.userInput->u.alphanumeric, data); OOTRACEDBGA3 ("Built UserInputIndication_alphanumeric (%s, %s)\n", call->callType, call->callToken); @@ -3264,7 +3264,7 @@ int ooSendH245UserInputIndication_signal ooFreeH245Message(call, ph245msg); return OO_FAILED; } - strcpy(*(char**)indication->u.userInput->u.signal->signalType, data); + strcpy(*(char**)&indication->u.userInput->u.signal->signalType, data); OOTRACEDBGA3 ("Built UserInputIndication_signal (%s, %s)\n", call->callType, call->callToken); diff --git a/addons/ooh323c/src/ooh323.c b/addons/ooh323c/src/ooh323.c index eaf60e33443627d0c87b0c5353ac33ba6e4a9e47..8ccec6550922259339f293a298f489c80a9388f8 100644 --- a/addons/ooh323c/src/ooh323.c +++ b/addons/ooh323c/src/ooh323.c @@ -2167,7 +2167,7 @@ int ooPopulatePrefixList(OOCTXT *pctxt, OOAliases *pAliases, memFreePtr(pctxt, pPrefixEntry); return OO_FAILED; } - strcpy(*(char**)pPrefixEntry->prefix.u.dialedDigits, pAlias->value); + strcpy(*(char**)&pPrefixEntry->prefix.u.dialedDigits, pAlias->value); bValid = TRUE; break; default: @@ -2220,7 +2220,7 @@ int ooPopulateAliasList(OOCTXT *pctxt, OOAliases *pAliases, memFreePtr(pctxt, pAliasEntry); return OO_FAILED; } - strcpy(*(char**)pAliasEntry->u.dialedDigits, pAlias->value); + strcpy(*(char**)&pAliasEntry->u.dialedDigits, pAlias->value); bValid = TRUE; break; case T_H225AliasAddress_h323_ID: @@ -2249,7 +2249,7 @@ int ooPopulateAliasList(OOCTXT *pctxt, OOAliases *pAliases, memFreePtr(pctxt, pAliasEntry); return OO_FAILED; } - strcpy(*(char**)pAliasEntry->u.url_ID, pAlias->value); + strcpy(*(char**)&pAliasEntry->u.url_ID, pAlias->value); bValid = TRUE; break; case T_H225AliasAddress_email_ID: @@ -2262,7 +2262,7 @@ int ooPopulateAliasList(OOCTXT *pctxt, OOAliases *pAliases, "alias entry \n"); return OO_FAILED; } - strcpy(*(char**)pAliasEntry->u.email_ID, pAlias->value); + strcpy(*(char**)&pAliasEntry->u.email_ID, pAlias->value); bValid = TRUE; break; default: