*
*****************************************************************************/
+/* Reworked version I, Nov-2009, by Alexandr Anikin, may@telecom-service.ru */
+
/*** MODULEINFO
<defaultenabled>no</defaultenabled>
.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,
ast_update_use_count();
} else {
- ast_log(LOG_DEBUG, "No call to hangup\n" );
+ ast_debug(1, "No call to hangup\n" );
}
if (gH323Debug)
{
struct ooh323_pvt *p = newchan->tech_pvt;
+ if (!p) return -1;
+
if (gH323Debug)
ast_verbose("--- ooh323c ooh323_fixup\n");
.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;
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;
res = AST_RTP_GLUE_RESULT_LOCAL;
+ if (ast_test_flag(&global_jbconf, AST_JB_FORCED)) {
+ res = AST_RTP_GLUE_RESULT_FORBID;
+ }
+
return res;
}
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);
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);
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:
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:
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:
"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: